HP OpenVMS Systems

ask the wizard
Content starts here

Global Buffers and RMS Indexed File Bucket Size?

» close window

The Question is:

 
 
Given that we have an application (a general enquiry program) that opens around
 30 indexed files, and is run by around 300 users at any one time; what would
 you suggest setting the Global Buffer setting to?
 
Is there a formula I could use.
 
Apart from system memroy usage, are there any real downsides to using Global
 Buffers?
 
We currently do not use Global Buffers at all, and I suspect this is an ideal
 way to improve system performance, given that we are under-utilising the
 physical memory in our Alpha.
 
 
Many thanks, Robert.
 
 


The Answer is :

 
  Typically, the global buffers are sized to fit at least the RMS index
  file structures, and are limited by available (free) system memory.
  Keeping at least the index buckets cached in the global buffers reduces
  the I/O required for accessing the most frequently accessed structures
  within the file.
 
  As a first estimate for the global buffer setting, use the DCL command
  ANALYZE/RMS/STATISTICS, and look at the index block counts.  Check the
  root level, and check the bucket size.  Add up all the indices, and then
  divide the resulting value by the bucket size.
 
  For example, assume the following numbers of buckets and bucket sizes
  are associated with an indexed file:
 
        Bucket  Level 1         Level 2         Level 3         Index
        Size    Buckets         Buckets         Buckets         Blocks
 
        3       1013            14              1               3084
        6       244             2               1               1500
        9       107             1               0               972
        12      60              1               0               732
 
  Based on the above, the OpenVMS Wizard would likely choose a bucket
  size of 9 and then choose to configure around 150 global buffers.
 
  You can use the OpenVMS EDIT/FDL tool to (re)design your RMS indexed
  file.
 
  Use of local buffers may or may not be beneficial, as it can increase
  the amount of memory required due to replication.
 
  You may need to increase the system parameters GBLPAGES, GBLPAGFIL,
  and GBLSECTIONS.  You may also want to increase the amount of available
  physical memory.
 
  Other obvious options include host-based RAM disks, I/O hardware caches,
  and faster disk I/O subsystems.
 
  Global buffers are normally a good approach for improving performance.
 

answer written or last revised on ( 15-AUG-2001 )

» close window