Joined: 06 Jun 2008 Posts: 8343 Location: Dubuque, Iowa, USA
Wanted to understand which definition of BUFND & BUFNI parameter will make more performance improvement?
The FIRST thing to understand is that performance improvement for VSAM files depends largely upon the program's access. Since you're talking BUFND and BUFNI, I assume you are talking about a KSDS VSAM file. For a KSDS file, there are three types of access: random (where any particular record can be read next), sequential (where the next record to be read is the one in key sequence after the current record), and skip sequential (where a random read is done to establish position, then a series of sequential reads are done).
For programs doing random access, BLSR can improve performance since BLSR is optimized for random access. For programs doing sequential access, BLSR is pretty much the WORST choice to make.
For programs doing sequential access, providing plenty of data (BUFND) buffers and a few index (BUFNI) buffers will improve performance most.
For programs doing skip sequential processing, whether to use BLSR will depend upon the ratio of sequential reads to random reads. If the program does 500 sequential reads for every random read, using BLSR will drastically impact performance in a negative way. If the program does 50 random reads for every sequential read, though, then BLSR would probably be the way to go.
And, by the way, your posted example of 5 buffers for data and index is very poor -- for random access you should have at least enough index buffers to read in one record from each level and 1 data buffer; for sequential access you should have at least enough data buffers to read in an entire CA and 1 index buffer.