Tuning DirMaint Performance

Last updated: 2020-09-04     (Subscribe to updates)

There are three types of performance tuning that can be done:

Optimizing the User Machine

DirMaint functions performed in the user's virtual machine can be improved by following the suggestions described below.

  • Split the CONFIG DATADVH file into multiple files.
  • Minimize the number of entries in the REQUIRED_USER_FILE list. At least one entry is required; the DVHCMD EXEC is recommended.
  • Maximize the number of entries in the LOADABLE_USER_FILE list. Reading frequently used files into storage takes time.
  • Encourage general users who issue many DirMaint commands to submit them using DIRM BATCH.
  • Encourage your system administration personnel to put a
        EXEC DIRMAINT EXECLOAD
    command into their PROFILE EXEC.
  • If you have a large administration staff, you may want to consider installing the user machine routines into a shared segment.
  • Remove comments lines, beginning with a slash, from the CONFIG* DATADVH file(s).

Optimizing the DirMaint Service Machines

Service machines can be improved by following the suggestions described below.

  • Increase virtual storage for the DIRMAINT machine to 128M or 160M.
  • For DirMaint 7.1 and earlier, specify the following properties to override the default.
    • DVHWAIT_BATCH_INTERVAL= 00:00
      The new value eliminates the default wait of one second wait between requests that are handled by the servers.
    • DVHWAIT_CLUSTER_INTERVAL= 00:01
      The new value reduces the wait by the DirMaint server when it detects that the source directory is being used by the satellite servers from 15 seconds to 1 second. Waiting 15 seconds is too long for most environments.
  • Minimize the number of entries in the following lists:
    • REQUIRED_SERVER_FILE
    • REQUIRED_DIRMAINT_FILE
    • REQUIRED_DATAMOVE_FILE
    • REQUIRED_DIRMSAT_FILE
  • List all of the following common parts on LOADABLE_SERV_FILE entries:
    • DVHWAIT
    • DVHWAKE
    • DVHWAKE3
    • DVHRDR
    • DVHDF8
    • DVHRQST
    • DVHFNDCS
    • DVHCEXIT
    • DVHMSG
    • DVHXLF
    • DVHESMLR
    • DVHRACLR
    • DVHSHUT
  • List DVHDMCTL on LOADABLE_DATAMOVE_FILE entries.
  • List DVHDSCTL on LOADABLE_DIRMSAT_FILE entries.
  • List all executable DirMaint parts; file names beginning DVH and file types of EXEC, MODULE, REXX, or XEDIT not already on a LOADABLE_xxxxxxxx_FILE entry or a LOADABLE_DIRMAINT_FILE entry.
  • Consider installing all of the LOADABLE_xxxxxxxx_FILE entries into a shared segment.
  • Use existing system facilities for disaster recovery, rather than exploit DirMaint's redundancy capabilities.
    • Don't use the 2AA disk if the 1AA disk is backed up nightly.
    • Don't use the 2DF disk if the 1DF disk is backed up nightly.
    • Don't use the MESSAGE_LOGGING_FILETYPE if you are running with an ESM and recording DirMaint activity in the ESM audit log.
    • Use the MESSAGE_LOGGING_FILTER_EXIT and ESM_LOG_FILTER_EXIT entries to avoid recording unnecessary messages in the TRANSLOG file or in the ESM audit log.
  • Exploit tailoring options that improve both performance and usability on your system. For example, use UPDATE_IN_PLACE= YES on your system.
  • Avoid using options whose performance cost on your system outweighs the usability benefits for your system.
    • Avoid use of SORT_BY_DEVICE_ADDRESS= YES.
    • Use DASD_ALLOCATE= FIRST_FIT rather than EXACT_FF.
    • If privacy of residual data is not usually a concern on your system, use DISK_CLEANUP= NO to avoid the time to FORMAT deleted minidisks.
  • Experiment with options that have trade-offs that could fall either way.
    • Try ONLINE= IMMED; the WRK_UNIT_ONLINE setting is irrelevant.
    • Try ONLINE= SCHED with WRK_UNIT_ONLINE= YES.
    • Try ONLINE= SCHED with WRK_UNIT_ONLINE= NO.
    • With ONLINE= IMMED or with WRK_UNIT_ONLINE= YES, try the IBM supplied default queue sizes:
      DM_MAXIMUM_RETRIES= 10
      MAXIMUM_UNASSIGNED_WORKUNITS= 10
      
    • With ONLINE= SCHED and WRK_UNIT_ONLINE= NO
      ==/==/== +01:00:0 DIRECT
      
      specified in the DIRMAINT DATADVH file, and approximately 30 DASD management commands (AMDISK, CMDISK, DMDISK) arriving per hour, try increasing the queue sizes:
      DM_MAXIMUM_RETRIES= 50
      MAXIMUM_UNASSIGNED_WORKUNITS= 50
      
  • Customize the DVHXPROF EXEC, an IBM-supplied sample exit routine to define VFB-512 virtual disks in storage and initialize them using the following steps:
    1. Customize the DVHPROFA DIRMAINT, DVHPROFA DIRMSAT and DVHPROFM DATADVH files with the changes as shown in the following example:
            PURPOSE= RWS FM= A ACC= 255   V-disk copy of 155.
            PURPOSE= SRV FM= C ACC= 291   V-disk copy of 191.
            PURPOSE= USR FM= D ACC= 31F   V-disk copy of 11F.
            PURPOSE= PDF FM= E ACC= 3DF   V-disk copy of 1DF.
            PURPOSE= SSI FM= F ACC= 551
            PURPOSE= PDB FM= G ACC= 1DB
            PURPOSE= PTH FM= H ACC= 1AA
            PURPOSE= SDF FM= J ACC= 1DF
          / PURPOSE= SDB FM= - ACC= --- not used.  PDB covered by nightly backup
          / PURPOSE= STH FM= - ACC= --- not used.  PTH covered by nightly backup
            PURPOSE= abc FM= K ACC= 155
            PURPOSE= def FM= L ACC= 191
            PURPOSE= ghi FM= M ACC= 11F
            PURPOSE= SFA FM= Z ACC= 2FA   V-disk.
      
    2. Create the V-disks for the 255, 291, 2FA, 31F, and 3DF disks prior to starting the DirMaint servers. For example modify the sample profile exec adding define and format commands.
    3. Copy files to the 255, 291, 31F, and 3DF V-disks from the 155, 191, 11F, and 1DF disks within the DVHXPROF EXEC, with nothing being copied to the 2FA disk.
  • Remove comments lines, beginning with a slash, from the CONFIG* DATADVH file(s).
  • Exploit the exit routines for performance. If you have a central administration staff and do not delegate use of the privileged commands, for example:
    /* */ Exit 0
    
    or
    /* */
    If WordPos(Userid(),'adminid1 adminid2 adminid3') <> 0
       Then Exit 0
       Else Exit 30
    
    for some of the exit routines will bypass further authorization checking. Candidates for this include:
    • ACCOUNT_NUMBER_VERIFICATION_EXIT
    • DASD_AUTHORIZATION_CHECKING_EXIT
    • LINK_AUTHORIZATION_EXIT
    • LOCAL_STAG_AUTHORIZATION_EXIT

Setting CP Performance Options

  • SET RESERVE Command
    On systems with high paging load, DirMaint will very likely be paged out when an interrupt comes in. The SET RESERVE command, however, lets most DirMaint active pages remain in real storage.
  • SET QUICKDSP Command
    The QUICKDSP designation is intended for selective use on virtual machines with critical response time requirements. The scheduler always moves a QUICKDSP user immediately into the dispatch list whenever it is ready to run, regardless of resource requirements and current system load. Indiscriminate use, therefore, increases response time overall and may severely affect maintenance of system storage.



If you'd like to contact DirMaint development and support, you can

Thank you for visiting this web page. Please visit again next month and check out the latest news. (Or, subscribe to future updates.)