View previous topic :: View next topic
|
Author |
Message |
anoopn1985
New User
Joined: 23 Apr 2007 Posts: 16 Location: tvm
|
|
|
|
Hi,
I have one program A which read a flat file and copy some data to a VSAM file. In FILE-CONTROL, VSAM file is declared as
ACCESS IS RANDOM
ORGANIZATION IS INDEXED
I have one other program B, which reads the above VSAM file and performing REWRITE operation to the same VSAM file. The number of records getting processed is very high (arounf 1.5lakh records in VSAM file). In program B, I declare the VSAM file as below.
ACCESS IS DYNAMIC
ORGANIZATION IS INDEXED
The same job executes program A and B. The job takes around 8 hours to completion. When I gave AMP=('BUFND=50,BUFNI=50') parameter while accessing VSAM, the job took only 4hours. I'm looking for more performance improvement. I defined VSAM file with below properties.
CYL(400 100)
RECORDSIZE(80 80)
INDEXED KEYS(18 0)
SPEED
REUSE
SHR(1,3)
VOL(PRODDA,PRODDA)
FREESPACE(25 20))
INDEX (NAME(XXXX.YYY.I)
CISZ(2048))
DATA (NAME(XXXX.YYY.D)
CISZ(4096))
Can anyone help me? If I increase CISIZ, will it make any sense? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
you would be better off learning about VSAM,
the Redbook VSAM Demystifed
which will provide you with information about tuning VSAM. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
It is a while since I have been heavily involved in VSAM tuning.
What is the difference between acces RANDOM and DYNAMIC. Is DYNAMIC used for skip sequential ?
For RANDOM I have always used higher values for the BUFNI and either low or default for BUFND. This allows more index buffers to be loaded.
If possible, it is better to have the reference dataset sorted in VSAM key sequence to avoid backward and forward movement through the VSAM file and causing buffer reloads. That way the VSAM index will only need to be read once for the whole job.
Excessive use of buffers can be detrimental as it may cause more frequent paging and delay the job.
Changes to the CISIZE may well further reduce elapsed times, but a larger CISIZE may be detrimental to online applications. No point in speeding up batch if you then clobber the online.
Have a read of the IBM redbook "VSAM demystified" for a good overview of VSAM and tuning. |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
Go to ===> www.ctrekcorp.com and review the Technical Papers, which can be downloaded for free.
Regards, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
expat, DYNAMIC allows for skip sequential processing -- COBOL can read the file sequentially (once a current record pointer is established) or randomly.
BLSR, if enabled at your site, may make a difference -- although you've probably gotten most of the benefits of BLSR by adding buffers. If your site has an execution analysis tool like STROBE, you can find out if the program is CPU-bound or I/O-bound; that would help you determine how to proceed. Otherwise, increasing the CI may not help if the records are being read randomly and rewritten since that would mean more data coming in and going out of the buffer. And I reiterate the suggestions to read the Redbook. |
|
Back to top |
|
|
iamthecreaturefromuranus
New User
Joined: 20 Jun 2006 Posts: 3
|
|
|
|
anoopn1985 wrote: |
Hi,
Can anyone help me? If I increase CISIZ, will it make any sense? |
Speak to your Storage Administration team about using System Managed Buffers(SMB). Your VSAM datasets will need to be in extended format before SMB will work. bufnd=50 and bufni=50 shows that you are just guessing at the correct amounts of buffers required.. guesswork is usually not the best way to do things. |
|
Back to top |
|
|
|