IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

BUFND & BUFNI


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
triplej

New User


Joined: 14 Jun 2007
Posts: 3
Location: India

PostPosted: Tue Oct 30, 2012 6:19 pm
Reply with quote

Wanted to understand which definition of BUFND & BUFNI parameter will make more performance improvement?
1. AMP Parameter
//VSAMDD DD DISP=SHR, DSN=VSAMDSN,AMP=’BUFNI=5,BUFND=5’

2. Converting to BLSR & define the BUFND, BUFNI
//VSAMALT DD DISP=SHR,DSN=VSAMDSN
//VSAMDD DD SUBSYS=(BLSR,'DDNAME=VSAMALT',’BUFNI=500,BUFND=500’)

Which one of these has more advantage?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Oct 30, 2012 6:59 pm
Reply with quote

Quote:
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.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Tue Oct 30, 2012 7:16 pm
Reply with quote

www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker/entry/memories_of_batch_lsr?lang=en
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Clarification regarding BUFNI & B... JCL & VSAM 14
No new posts VSAM - BUFNI and BUFND optimum values JCL & VSAM 5
No new posts BUFNI and BUFND size JCL & VSAM 4
No new posts BUFNI calculation under VSAM for EXTV... JCL & VSAM 2
No new posts What is the use of AMP=('BUFND=20') Mainframe Interview Questions 1
Search our Forums:

Back to Top