HOME SOFTWARE CONSULTANCY TRAINING REFERENCE PARTNERS SEARCH
spacer
Latest Tips
e-business
ITIL
Linux
Management
Modeling
Oracle
SQL
UNIX
Windows
z/OS
 
 
 
spacer
 

Remember that the default blocking factor for VSAM is very small - 2 buffers for data and one for the index. So the first option is always to increase this default to something a bit more reasonable (ten index, ten data buffers), using AMP='BUFNI=10','BUFND=10'. This doesn't always provide the best possible solution, but is a good start.

Sequential access
Make the CISIZE as big as possible, and provide a large BUFNI and BUFND to keep as many index buffers in storage as possible, and to keep as many data buffers in storage as possible. Increasing CISIZE not only reduces IO's, but also decreases the amount of space the file uses - quite dramatically at times.

Minimise the number of index levels by making the index CISIZE as large as is reasonable - 4K tends to be a good CISIZE for Indexes. If you have more than three index levels, that is too many. Two index levels are best. Look at a LISTCAT to determine the number of index levels.

Don't use IMBED or REPLICATE (unless the data is not on a cached disk). As all disks these days are cached, these options waste disk space and more particularly cache space, so don't use them.

Random Access
The main factor affecting the performance of randomly accessed VSAM files is the IO to the indexes. This can be reduced by:
1. minimising index levels, and
2. keeping index buffers in storage.

A random read will always re-read the sequence set of the index before the data. So to minimise IO for random reads, specify a reasonably large (4K) index CISIZE to minimise the number of ihttp://www.metron.co.uk/reference/performance_tips/index.htmlndex levels, and specify either a BUFND and BUFNI considerably greater than the default, or specify a BUFSP to keep as many Index buffers in storage as possible.

To z/OS Server Tips Index