View previous topic :: View next topic
|
Author |
Message |
Hariharan Ramachandran
New User
Joined: 30 Nov 2010 Posts: 28 Location: Chennai, Tamilnadu,INDIA
|
|
|
|
Hi,
Could someone help in getting the optimized value for BUFND and BUFNI values for a Skip Sequential proceessing. I came accross a document in the forum and found the formula for calculating BUFND ad BUFNI values but it did not say for which accessing mode this formula would stick.
1. For BUFND use the number of CIs/CA in the data component
2. For BUFNI divide HURBA for index by index CIsize and add 5
http://publib.boulder.ibm.com/infocenter/ieduasst/stgv1r0/topic/com.ibm.iea.zos/zos/1.0/DFSMS/zOS_Catalog_and_VSAM_Best_Practices.pdf
Please let me know for which access mode i should use this formula and also the formula for other accessing modes.
Regards,
#ari |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
For optimizing direct access, you need at least one BUFNI for each level of the index (see the LISTCAT output for the number of levels of the index) and one BUFND; additional BUFNI will help more than BUFND since the index is being used to get to the appropriate DATA buffer.
For optimizing sequential access, the number of CI per CA may overdo it some (I typically find best results from 50 to 100 BUFND and if the data CI size is 4K you'd allocate 180 BUFND), while you don't really use the index buffers so BUFNI can be small.
Skip sequential processing combines the best (or worst) of each, so you probably ought to allocate plenty of BUFND and BUFNI in such a case. Look into LSR as well -- depending upon the amount of skipping being done, LSR might help. Knowing the data access pattern can help, but if your program starts near the beginning of the file, reads 3 records sequentially, goes near the end and reads 2 records sequentially, then skips to the middle of the file and reads 4 records -- there's not much that will improve performance for such a read pattern! |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Robert, as the OP has stated skip-seq I have nearly always found that allocating large buffer numbers can also detriment performance as all of the buffers are refreshed at each change of access method. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
expat, I suspect that's why I typically find best performance in the 50 to 100 buffers range -- more buffers means more to flush when changing access. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Why Robert, you are looking a little flushed, are you OK |
|
Back to top |
|
|
Hariharan Ramachandran
New User
Joined: 30 Nov 2010 Posts: 28 Location: Chennai, Tamilnadu,INDIA
|
|
|
|
Thanks, Expat and Robert,
I have used the below formula's to calculate the BUFND and BUFNI for SKIP SEQUENTIAL access method. The results was very good and as expected.
BUFND--> number of CI/CA in data component
BUFNI---> 1+index's REC-TOTAL(data's HI-U-RBA/data's CI/CA * data's CISIZE)
All these values has been obtained from LISTCAT entries of that particular dataset. TSO LISTCAT ENT('dataset name') all.
Regards,
#ari |
|
Back to top |
|
|
|