[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

RMS Indexed File Performance Tuning?

» close window

The Question is:

 
We have a vms cluster with 3 members that access a shared indexed file via
 cobol application with 10 proccess simultaneosly. When a process tries to
 read/write to the file the action is very slow and i use anal/system utility
 with command: show proc/chann
els, the channel asigned to the files appears "Busy".
 
The fdl is:
 
FILE
        ALLOCATION              	100000
        BEST_TRY_CONTIGUOUS   yes
        BUCKET_SIZE             	2
        CLUSTER_SIZE            	4
        EXTENSION               	10000
        FILE_MONITORING         	no
        GLOBAL_BUFFER_COUNT   0
        ORGANIZATION            	indexed
        PROTECTION              	(system:RWED, owner:RWED,
 group:RWED,world:RWED)
 
RECORD
        BLOCK_SPAN              	yes
        CARRIAGE_CONTROL        carriage_return
        FORMAT                  	fixed
        SIZE                    		85
 
AREA 0
        ALLOCATION              	100000
        BEST_TRY_CONTIGUOUS   yes
        BUCKET_SIZE             	2
        EXTENSION               	10000
 
KEY 0
        CHANGES                 		no
        DATA_KEY_COMPRESSION    	no
        DATA_RECORD_COMPRESSION 	yes
        DATA_AREA               		0
        DATA_FILL               		100
        DUPLICATES              		no
        INDEX_AREA              		0
        INDEX_COMPRESSION       	no
        INDEX_FILL              		100
        LEVEL1_INDEX_AREA       		0
        NAME                    			""
        NULL_KEY                		no
        PROLOG                  		3
        SEG0_LENGTH             		18
        SEG0_POSITION           		0
        TYPE                    			string
 
My questios in how to improve the i/o performance and reduce the "Busy" state
 in a file. Take in mind that this file manage around 46 millions of records.
Thanks.
 
 
 


The Answer is :

 
  It would appear that this application is seriously overdue for a
  detailed examination and for tuning related to RMS and OpenVMS.
  Please consider engaging your prefered services organization or
  the customer support center for consulting, and please consider
  reading through the OpenVMS Guide to File Applications details
  on buckets and buffers.
 
  What has been shown is an FDL for an indexed file that was either
  recently created or recently.  The specified FDL certainly appears
  inadequately structured for the proposed 46 millon records.
 
  Assuming a modest level of compression, the OpenVMS Wizard would
  expect this file will occupy roughly 6,500,000 blocks and will
  have an index root level of 4 or 5.  This mean that each record
  lookup will that at least 5 IO operations, and quite probably more.
  You will want to use ANALYZE/RMS/FDL/STATISTICS on the target file
  -- or potentially even on a backup copy of the file if file contention
  is a factor -- and then use EDIT/FDL/NOINTERACT and finally -- when
  the file and application activity can be quiesced -- the DCL command
  CONVERT/FAST/NOSORT/STATISTICS to convert the data file using the
  optimized FDL.
 
  With a bucket size of 5 or more, you will reduce the index to level
  3, which will reduce the I/O required to access a record.  With a
  bucket size of 24 or more, you will reduce the index to 2 levels,
  which is likely provide the best performance in most cases.  (The
  saient exceptions to this being a rare few high-update, low memory,
  slow-disk situations.)
 
  As you have several concurrent users of this file, you will also want
  to enable global buffers.  Start with 100 or so buffers, and enable
  and use the MONITOR RMS file statistics to measure activities.
 
  If you wish to guess or gamble or blindly trust the OpenVMS Wizard,
  you perform a full BACKUP/VERIFY of your file and can then skip all
  of the intermediate steps listed above and use the FDL below:
 
 
FILE
        FILE_MONITORING         yes
        GLOBAL_BUFFER_COUNT   	100
        ORGANIZATION            indexed
        PROTECTION              (system:RWE, owner:RWE, group:RWE,world:RWE)
 
RECORD
        FORMAT                  fixed
        SIZE                    85
 
AREA 0
        ALLOCATION              7000000
        BEST_TRY_CONTIGUOUS	yes
        BUCKET_SIZE             24
        EXTENSION               60000
KEY 0
        DATA_KEY_COMPRESSION    	yes
        DATA_RECORD_COMPRESSION 	yes
        DATA_AREA               	0
        DATA_FILL               	90
        DUPLICATES              	no
        INDEX_AREA              	0
        INDEX_COMPRESSION       	no
        INDEX_FILL              	90
        LEVEL1_INDEX_AREA       	0
        PROLOG                  	3
        SEG0_LENGTH             	18
        SEG0_POSITION           	0
        TYPE                    	string
 
 

answer written or last revised on ( 2-APR-2003 )

» close window