  RMS relative file performance? 
 The Question is:
 
We need to improve the performance of our RMS relative files for the largest
user of our package. They have over 100 users growing to 300 over the next
12 months.
 
Currently, the system is configured with 8 disks in 4 (host based) shadow
sets. We realise that striping and/or other 'hardware' based solutions could
help dramatically.
 
However, we wish to make use of whatever other techniques are available. For
example, we have not implemented global buffers and I have had some
difficulty in locating appropriate documentation that gives real help in
evaluating how best to tune an RMS fi
le system in a multi-user environment.
 
What I am looking for are basic guidelines or rules of thumb for bucket
sizes, global buffers and any other mechanisms for measuring and improving
performance. We think we know which files are taking the most hits and can
locate them on separate spindles,
 but need to do more.
 
Any help will be much appreciated.
 
 The Answer is:
 
    Indeed, using mirrored stripe set (or striped mirror sets!) can often
    help performance through better load balancing / averaging.
    Observing the current balance (or lack there of) of IO rates to the
    various spindles will give an indication of potential improvements.
 
    For applications with multiple concurrent users for shared RMS files
    one should always use GLOBAL BUFFERS. It tends to help a lot but the
    effectivness will obviously depend on the applicaiton usage patterns.
    Do NOT worry too much about getting the 'right' number of global bufs.
    Concentrate some number, any number, applied and monitor effectivness
    for a while. For starters try something like 50 or 200 global buffers
    on high usage, high share files. ($SHOW DEV /FILE may give a hint!)
    Check out SET FILE/STAT... and MONI RMS/ITEM=CACHE/FILE=... for stats.
    TRY to get application average IOs per Transaction before and after
    the change as the ultimate proof of effectivness.
 
    Hints... without SET FILE/STAT, one can still get a gutfeel about
    actual GLOBAL buffer usage through ANAL/SYSTEM.
    SDA&gt; SET PROC &lt;some sample application user which has files open&gt;
    SDA&gt; SHOW PROC/RMS=(FAB,GBH,GBDSUM)
    Here the FAB hopefully gives you an easy clue as to which file you
    are looking at, the HIT &amp; MISS fields in the GBH are basic stats
    and the VBN numbers in the GBDSUM may help to show access patterns.
    You may also want to check out the RMS_STATS tool on the VMS Freeware.
 
