IMS Tools

TECH TIP: How to use the Database Analyzer's "Randomizer Analysis Program" (RAP) to tune HDAM/PHDAM databases 

Jun 09, 2017 05:50 AM

Where does the RAP feature belongs to, and what does it do?

RAP is part of the CA Database Analyzer tool (DBA) and therefore does not need to be licensed separately.

It can be used to get important information about the quality of a currently used Randomizer Exit, and it shows the impact to the Randomizer-calculated segment distribution, if one or more of the relevant DBD parameters will be changed (Randomizer simulation).

 

How does it work?

RAP is reading a previously created sequential dataset, containing all root key values of an HDAM/PHDAM database (this dataset most easily can be created by running either Database Analyzer or Database Organizer-Unload, using execution option RAPKEYS=YES and allocating a sequential dataset with DD name RAPKEYS).

Based on the key values, RAP is simulating a segment distribution for this database, and creates several reports about the distribution quality of the currently used DBD parameters.

Additionally RAP allows changing one or more relevant of the DBD parameters to run another distribution simulation (without changing the DBD itself), indicating the impact of these changes on an additional set of reports with the same jobstep execution.

 

Which DBD parameters can be changed for simulations?

-  number of RAA blocks                            =>  use execution option "#RAPBLOCKS=n"

-  number of RAP fields per block              =>  use execution option "#RAPS/BLOCK=n"

-  Randomizer Exit name                           =>  use execution option "RANDOMIZER=name"

Note:  An additional option "KEYLENGTH=n" being mentioned in the RAP documentation doesn't make sense and should not be used, because it is related to changing the root segment's key length, which would result in also changing all application programs using this database, which usually is not possible.

 

Which are the most important Reports from RAP?

A number of reports is written by RAP on every simulation step - some of them quite confusing and difficult to understand in respect of giving information regarding the quality of a segment distribution.

Therefore it is recommended to focus just on those three RAP reports which actually provide helpful performance information:

 

  1. ROOT DISTRIBUTION PLOT FOR ALL RAPS

           Example:

                                                  ROOT DISTRIBUTION PLOT FOR ALL RAPS

       THE HORIZONTAL AXIS IS THE PERCENTAGE OF ROOTS WHICH RANDOMIZED TO THE BLOCK RANGE ON THE VERTICAL AXIS.

       THE VERTICAL AXIS IS THE ENTIRE SET OF ROOTS BROKEN INTO RANGES - THE LOW AND HIGH BLOCK NUMBER OF EACH RANGE IS PRINTED.

       BLOCK NUMBER RANGE              1          2         3         4         5          6        7         8         9         10

         LOW     HIGH        1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890   %

                             +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+

       0000001 - 0000069     ¦***********************                                                                               23

       0000070 - 0000138     ¦***************************                                                                           27

       0000139 - 0000207     ¦************************                                                                              24

       0000208 - 0000276     ¦**************************                                                                            26

 

             How to be used?

             Just look to the graphical Distribution Plot and check if the distribution of the root segments on the entire RAA is almost uniform. 
             The number of root segments per block should be similar for most RAA blocks.

You should avoid the settings when a distribution shows many roots for just specific ranges of blocks while other block ranges contain

only a  few or no root segments; in such case the DBD should be changed accordingly.   

 

   2.   BLOCK-ONLY ANALYSIS - ALL BLOCKS

            Example:

                        BLOCK-ONLY ANALYSIS - ALL BLOCKS

       MEAN                         :     1.670

       VARIANCE                     :   834.158

       WEIGHTED MEAN                : 3,080.313

       WEIGHTED MEAN IF BALANCED    : 2,506.335

       TOTAL NUMBER OF BLOCKS       : 3,000

       NUMBER OF USED BLOCKS        : 2,011

       NUMBER OF UNUSED BLOCKS      :   989 

 

            How to be used?

            Look to the "NUMBER OF UNUSED BLOCKS" in relation to "TOTAL NUMBER OF BLOCKS":

            If a relative high number of blocks is unused, the RAA might be too large and should possibly be decreased;

            if the number of unused blocks is low (relative number of used blocks is high), the RAA might be too small for further insertions

            and should be increased.

            (But keep in mind that your decision needs to consider how many changes (deletions, insertions) actually will be done against this

            database by application programs.)

 

  1. BLOCK-ONLY ANALYSIS - USED BLOCKS

          Example:

              BLOCK-ONLY ANALYSIS - USED BLOCKS

              MEAN                                              : 500.000

              VARIANCE                                      : 544.500

              NUMBER OF USED BLOCKS        :   20

              MINIMUM # ROOTS IN BLOCK     :  484

              MAXIMUM # ROOTS IN BLOCK    :  517

 

          How to be used?

          Look to the "MINIMUM" and "MAXIMUM # ROOTS IN BLOCK" and compare them against the "MEAN" value (which shows the

          number of root segments in each RAA block, if the disribution would be even on the entire RAA):

             A small variance between the "MIN" and the "MAX" values around the "MEAN" value is an indication for a good Randomizer Exit distribution.

 

RAP job control Example

       //RAP      EXEC PGM=IDIRAP,REGION=4096K                                

       //STEPLIB  DD  DISP=SHR,DSN=ca.imstools.CIMTLOAD                     

       //         DD  DISP=SHR,DSN=ims.SDFSRESL                          

       //DFSRESLB DD  DISP=SHR,DSN=ims.SDFSRESL                                  

       //DBDLIB   DD  DISP=SHR,DSN=ims.DBDLIB                      

       //RAPMSGS  DD  SYSOUT=*                                                

       //RAPRPTS  DD  SYSOUT=*                                                 

       //RAPERROR DD  SYSOUT=*                                                

       //RAPKEYS  DD  DSN=hlq.RAPKEYS,DISP=SHR  => created by DBA or DBO Unload run      

       //RAPCTRL  DD  *                                                                

       KEYDETAIL=NO,        => YES will print additional details (optional)              

       *                                                                              

       DBDNAME=dbdname      => uses existing DBD parameter (from load module)               

       *                    => no comma used after 'dbdname': end of options set #1

       RANDOMIZER=DFSHDC30  => change to using this Randomizer Exit

       *                    => no comma used after 'DFSHDC30': end of options set #2          

       #RAPBLOCKS=100       => change to RAA SIZE=100 blocks

       *                    => no comma after '100': end of options set #3

       #RAPS/BLOCK=2        => change to using 2 RAPS per block

       *                    => no comma after '2': end of options set #4                

       RANDOMIZER=DFSHDC10, => change to all options which are separated by 'comma'

       #RAPBLOCKS=100,         (options set #5)

       #RAPS/BLOCK=2        

 

Limitations

Although RAP simulations deliver valuable results about the quality of a Randomizer Exit as well as about the impact of changing distribution-relevant DBD parameters, it should always be remembered that one important HDAM/PHDAM DBD parameter is not part of the RAP simulations:

The BYTES parameter (4th sub-parameter of the RMNAME macro), controlling the number of bytes being available to store dependent segments on each RAA block, cannot be considered by RAP, because nothing is known about the number of dependent segments for this database and how many of them will be routed to the Overflow Area.

 

Reference

Documentation: 

https://docops.ca.com/ca-database-management-solutions-for-ims-for-z-os/19-0/en/managing-database-performance/ca-database-analyzer-for-ims/using-the-randomizer-analysis-program

Related Topic 

TECH TIP: How to tune HDAM/PHDAM databases using reports from CA Database Analyzer#

Statistics
0 Favorited
3 Views
0 Files
0 Shares
0 Downloads

Related Entries and Links

No Related Resource entered.