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

Improving performance of VSAM


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

New User


Joined: 17 Mar 2009
Posts: 30
Location: Bangalore.India

PostPosted: Tue Apr 14, 2009 3:21 pm
Reply with quote

HI All
I am trying to increase the VSAM performance. I am trying it by AMP(BUFNI and BUFND). But I don't know how to calculate this BUFNI and how exactly it works... What difference it makes to improve the performance...
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Tue Apr 14, 2009 3:31 pm
Reply with quote

What kind of reads are you doing? For sequential reads, BUFNI=2 or 3 would be plenty -- but BUFND needs to be high enough to read plenty of data. For random reads, you need at least one more buffer than the number of index levels -- and BUFND doesn't need to be very high.

For programs doing sequential reads of VSAM files, I try to ensure that there's enough BUFND buffers to handle a cylinder of data. I've seen job elapsed time cut 80% by buffering the files (IBM defaults are really poor at supporting sequential processing).
Back to top
View user's profile Send private message
swapnilushinde

New User


Joined: 17 Mar 2009
Posts: 30
Location: Bangalore.India

PostPosted: Tue Apr 14, 2009 4:10 pm
Reply with quote

Thanks Robert... I agree with you but as per my knowledge BUFNI is determined by some formula using CI and CA size. What that formula exactly does ?
If possible please give me any document which will explain all these terms and process for both random and sequential read...
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Tue Apr 14, 2009 4:27 pm
Reply with quote

www.redbooks.ibm.com and look for VSAM. The first hit (when I did the search) is VSAM Demystified, and chapter 2 covers performance.

BUFNI is only partially determined by CI and CA size for random (direct) reads; for sequential reads it requires only a fixed value. VSAM indexes are built as a tree until there is only one CI required for the next level pointers. The number of levels of index determines how many index buffers (BUFNI) will be needed for a given file -- and obviously as records are added to the file that number will change. If you anticipate CA splits due to your processing, adding index buffers can help.
Back to top
View user's profile Send private message
swapnilushinde

New User


Joined: 17 Mar 2009
Posts: 30
Location: Bangalore.India

PostPosted: Thu Apr 16, 2009 2:33 pm
Reply with quote

Robert , I have gone through above PDF. In addition to that I went through
url=http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfht3/dfht33r.htm
( search 'Checking startup procedures for performance' in this URL)

1.here I got the formula for calculating BUFNI. By this way BUFNI is coming much higher i.e. 29. Is this optimum BUFNI ???
2. Just want to double-check BUFND= CI/CA.. Is it ???
3. I am not getting the exact meaning of STRNO. Is this no. of records???[/url]
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Thu Apr 16, 2009 5:06 pm
Reply with quote

1. You cannot state a given BUFNI is optimum without stating whether the file access is random or sequential. If you ran through the formula and it came up with 29, use at least 29 -- maybe round it to 30?

2. For sequential and skip-sequential processing, the VSAM Demystified redbook states BUFND should be the number of CI per CA + 1 if STRNO is one; add more if STRNO is greater than one. For direct (random) access, the redbook recommends STRNO + 1 as the minimum number for BUFND.

3. STRNO is the number of concurrent accesses allowed. For a batch program this is rarely more than one -- although I have seen programs that have multiple DD statements for the same file in which case STRNO needs to be higher than one. For a CICS region, if the file is heavily used, additional strings can speed up transactions that are queued waiting for access to the file.
Back to top
View user's profile Send private message
swapnilushinde

New User


Joined: 17 Mar 2009
Posts: 30
Location: Bangalore.India

PostPosted: Fri Apr 17, 2009 5:16 pm
Reply with quote

Hi
Thanks Robert....
I ran with formula count and it is working fine.. Further I got another AMP parameter as ACCBIAS=SYSTEM ( System managed buffering). I used this parameted in JCL for two DD statements. But the problem is It is buffering only the first VSAM not the second one.
I was tried it several times but same results are there.... Please tell me because of what is it happening??
'ACCBIAS=SYSTEM' is used for all seq. , direct and skipped seq. access modes though it is facing problem for buffering....
Pl guide me for this ASAP...
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Fri Apr 17, 2009 5:23 pm
Reply with quote

The manual says
Quote:
ACCBIAS=USER
ACCBIAS=SYSTEM
ACCBIAS=DO
ACCBIAS=DW
ACCBIAS=SO
ACCBIAS=SW
Specify one of these six values to override record access bias in the data class in order to use System-Managed Buffering (SMB) without changing the data class. See OFSMS/MVS Using Data Sets for details on System-Managed Buffering.

USER
Obtain buffers the same way the system would without SMB. This is the default if you code no specification for the ACCBIAS subparameter.

SYSTEM
Force SMB and let the system determine the buffering technique based on the ACB MACRF and storage class specification.

Note: USER and SYSTEM are the only values you may use to specify record access bias in the data class.

DO
SMB with direct optimization.

DW
SMB weighted for direct processing.

This option provides the capability to use hiperspace.

SO
SMB with sequential optimization.

SW
SMB weighted for sequential processing.
So I'm surprised your first file is working fine -- the system must have allocated similar buffers to your formula calculation. If you want your buffering, you cannot use ACCBIAS=SYSTEM; there may be a site override requiring the parameter so you may not have any choice.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Apr 17, 2009 5:26 pm
Reply with quote

Quote:
Pl guide me for this ASAP...


please provide the proper fee
ASAP is Your and IBM problem, not ours

just tell us for what reason we should give IBM free consultancy services icon_evil.gif

replying is on voluntary base and time availability ,
and... TS benevolence factor

your the benevolence factor is dangerously close to 0 icon_biggrin.gif
Back to top
View user's profile Send private message
swapnilushinde

New User


Joined: 17 Mar 2009
Posts: 30
Location: Bangalore.India

PostPosted: Fri Apr 17, 2009 5:55 pm
Reply with quote

Enrico
Sorry for violation for protocol..I will strictly follow it henceforth..
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 Access to non cataloged VSAM file JCL & VSAM 18
No new posts Merge two VSAM KSDS files into third ... JCL & VSAM 6
No new posts exploiting Z16 performance PL/I & Assembler 2
No new posts CVDA value for RRDS VSAM dataset. CICS 2
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
Search our Forums:

Back to Top