[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vmszoo::rms_openvms

Title:RMS asks, 'R U Journaled?'
Moderator:STAR::TSPEERUVEL
Created:Tue Mar 11 1986
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3031
Total number of notes:12302

3024.0. "rms sysgen tuning" by HANDVC::STEVELIU () Thu Apr 24 1997 05:53

As I'm going through the RMS-related sysgen parameters,

$ mc sysgen
SYSGEN>  SHOW RMS
Parameter Name            Current    Default     Min.     Max.     Unit  Dynamic
--------------            -------    -------    -------  -------   ----  -------
RMS_DFMBC                      16         16         1       127 Blocks     D
RMS_DFMBFSDK                    0          0         0       127 Blocks     D
RMS_DFMBFSMT                    0          0         0       127 Blocks     D
RMS_DFMBFSUR                    0          0         0       127 Buffers    D
RMS_DFMBFREL                    0          0         0       127 Buffers    D
RMS_DFMBFIDX                    0          0         0       127 Buffers    D
RMS_DFMBFHSH                    0          0         0       127 Buffers    D
RMS_PROLOGUE                    0          0         0         3 Prolog-Lvl D
RMS_EXTEND_SIZE                 0          0         0     65535 Blocks     D
RMS_FILEPROT                64000      64000         0     65535 Prot-mask
RMS_GBLBUFQUO                1024       1024         0     32767 Gbl bufs   D
RMS_DFNBC                       8          8         1       127 Blocks     D


I find that only few of these parameters are being described briefly and
are scattered among different books in VMS docset. Please advise and
avoid saying go to one book as this will end up going back to the same
route.

I would like to collect information on how to tune RMS sysgen parameters
for file applications. Something in this format will be most helpful.

     Conditions         Parameters and How to tune
     ==========         ==========================


    thanks.

    -sl.
T.RTitleUserPersonal
Name
DateLines
3024.1leave at defaults and tune individual filesGIDDAY::GILLINGSa crucible of informative mistakesThu Apr 24 1997 09:0216
    Steve,
      I'd argue that these parameters should rarely be modified from
    defaults at the SYSTEM level since it would be very rare to find a
    system where the same value for any of these parameters would be
    optimal, or even desirable for ALL files across the system.
    
      As with any tuning exercise, you need to understand the nature of what
    you're trying to tune and your objectives. Increasing buffer counts on 
    specific files *may* improve I/O performance, but at the expense of 
    increased memory consumption. Increasing them too far, or for files
    with little or no locality will simply swap file I/O for paging I/O.
    
      Know your data in order to tune applications and individual files, you're
    most unlikely to be able to tune the whole system with any of these
    knobs.
    						John Gillings, Sydney CSC
3024.2right on!STAR::EWOODSThu Apr 24 1997 09:121
    HEAR! HEAR!   Very well said, John!   -- Elinor
3024.3RMS parameters ?HANDVG::STEVELIUThu Apr 24 1997 21:4915
    
    Of course, one has to know the data, it's obvious but my query is
    not yet answered.
    
    One simply has to know the significance of each sysgen parameters
    that tune RMS without this knowledge even if you know the data
    of the system, you don't have an idea what to go about tuning
    parameters which could correct or improve the situation.
    
    In a nutshell, can someone has the knowledge to tell what each
    RMS parameter control, illustrate under what conditions will
    that be applicable ?
    
    sl.
    
3024.4more detail, but I think you miss the pointGIDDAY::GILLINGSa crucible of informative mistakesFri Apr 25 1997 01:1352
    Steve,                                                               
    
      OK, here is a rough outline of what the parameters are for and when
    they should be changed. Note that all RMS parameters except GBLBUFQUO
    are system wide defaults. They can be overridden per process with the
    SET RMS_DEFAULT command, or per file with the appropriate RAB or XAB
    setting. Also note that the SET RMS_DEFAULT/SYSTEM command changes
    the active SYSGEN parameters.
    
    RMS_PROLOGUE      - don't touch, this is not a tuning parameter
    RMS_FILEPROT      - default protection. Default value is 
    			(S:RWED,O:RWED,G:RE,W) which is usually reasonable.
    			See also SET PROTECTION/DEFAULT for changing this
    			on a per-process basis.
    RMS_EXTEND_SIZE   - controls how much a file is extended. Increasing
    			the value can reduce fragmentation at the expense
    			of disk space. Better to set an appropriate extend
    			quantity for each file with SET FILE/EXTENSION.
    RMS_GBLBUFQUO     - System wide quota on the number of global buffers
    			which may be allocated to RMS files. This is a
    			safety guard to prevent exhaustion of global
   			buffers. Increase if you find RMS is running out
    			of buffers and you have sufficient global sections
    			and global pages allocated.
    RMS_DFMBC         - Multiblock count. See RMS Reference RAB$B_MBC
    			Sec 6.11 for a detailed explanation. In summary:
    			"The use of the RAB$B_MBC field optimizes data
    			throughput for sequential operations, and does not
    			affect the structure of the file. It reduces the
    			number of disk accesses for record operations,
    			resulting in faster program execution. However, the
    			extra buffering increases memory requirements."
    RMS_DFMBxxx       - Multibuffer counts for various file and device
    			types. See RMS Reference RAB$B_MBF Sec 6.12. It's
    			a similar deal to MBC. More buffers *may* improve 
    			performance by reducing physical I/O, but cost more 
    			memory.
    
    The point against setting the SYSGEN parameters is that it would be
    extremely rare to find a system for which you could say "all sequential
    disk files should have a multibuffer count of 6" which is what you're
    saying if you set RMS_DFMBFSDK to 6. Indeed such a setting could even
    cause you trouble by depleting memory. So, I would again recommend
    that you DO NOT modify the SYSGEN parameters.
    
    You should be tuning *individual files* not whole systems. See the
    Guide to OpenVMS File Applications, Chapter 3 "Performance
    Considerations" In particular sections 3.2.2.1 and 3.5.2.3 cover multiple
    buffers and 3.3.2 covers mutliblock count. Use MONITOR RMS to check
    on buffer performance.
    
    						John Gillings, Sydney CSC
3024.5thanks for the starterHANDVC::STEVELIUFri Apr 25 1997 05:307
    
    Thanks John. Your run-down starts to shine some light onto this topic.
    It do put things into perspective, it's hard to find the needle in
    the sea bed, you definitely know what I mean.
    
    -steve
    
3024.6RMS_GBLBUFQUO may be omittedSTAR::EWOODSFri Apr 25 1997 11:4911
<<    RMS_GBLBUFQUO   - System wide quota on the number of global buffers
<<    			which may be allocated to RMS files. ...

  V7.1 Release Notes.  4.20.1.8. This parameter is obsolete as of
  OpenVMS Version 7.1.  The number of global buffers on a system
  can be sufficiently controlled by the system parameters GBLPAGES,
  GBLPAGFIL, and GBLSECTIONS.

  (And just between us, this parameter never really functioned (or 
  functions) in any earlier release.)
3024.7substitute for RMS_GBLBUFQUOHANDVC::STEVELIUWed Apr 30 1997 07:4118
    
    so you mean system prior to V7.1 cannot be tuned globally on
    global file buffers with RMS_GBLBUFQUO.
    
    One has to resort to tuning via :
    
    1) set/file/global_buffer=n
    
    OR
    
    2) set RMS_DEFAULT /BUFFER_COUNT=count  /SYSTEM
    
    which is more preferable ? any difference in the end results ?
    
    Steve
                                                                  
    
    
3024.8EPS::VANDENHEUVELHeinWed Apr 30 1997 10:1923
  >  so you mean system prior to V7.1 cannot be tuned globally on
  >  global file buffers with RMS_GBLBUFQUO.
   
    No, not at all. GBLBUFQUO was an upper limit to the total number of
    global buffers in use accross all files in a system.
    
   
   >    1) set/file/global_buffer=n
    
    That is the primary way. Always has been, always will be.
    The alternative is a program dynamically setting FAB$W_GBC.

   > 2) set RMS_DEFAULT /BUFFER_COUNT=count  /SYSTEM
    
    No, those would be local buffers. Hmmm, maybe I see the 
    error in your thinking. Global buffers are NOT 'gloabl'
    or system wide means to select a number of buffers for
    a process. They are different buffers from local ones and
    contrary to the local ones, the data in them is visible to
    all processes on that system opening that file.
    
    Hein.