Example 3: Iterative tuning analysis
In this example, PSSR is used to investigate how potential DBD changes affect randomizer performance.
This kind of analysis is usually done in the following situation:
PSSR can model the randomization process without actually creating a reorganized database. It prints the following two reports:
You can find out how many root segments are randomized to each block or RAP from these reports.
Having well-distributed root segments is required to obtain optimum performance from an HDAM database. You want to minimize the number of physical input/output requests needed to access a segment. Having each root segment stored in its home block is a major factor. If your root segments are fairly evenly distributed throughout the root addressable area, it should minimize the number of roots that are not stored in their home block.
Database characteristics usually change over time. This can sometimes contribute to degraded performance. Some databases might require periodic analysis and changing of their randomization characteristics in order to maintain best performance.
You can use the PSSR randomizer-performance reports to evaluate how well your randomizer is distributing your root segments. By running PSSR iteratively, you can judge potential DBD changes without having to create a new version of the database. After using the PSSR to determine better values for the DBD randomization parameters, you can reorganize your database using those parameters.
Example of steps for tuning analysis
This example uses DBD overrides (on the PSSR control statement in the CTL data set) to model potential DBD changes. PSSR is run iteratively, changing the DBD overrides on each iteration until a satisfactory randomization is obtained. The following steps are required:
- Unload the database with IMS HD Reorganization Unload utility or with an equivalent program
- Run PSSR several times, each time with different DBD overrides
Once the new DBD parameters are selected, the database should be reorganized as described in Example 1: Normal reorganization (Changing root addressable area).
By monitoring the performance of your randomizing routines using PSSR (using PSSR, the HD Tuning Aid utility of IMS High Performance Pointer Checker, or both), you can detect conditions that might affect database performance. Proper analysis and tuning can then keep your databases in the best condition.
Unload the database with IMS HD Reorganization Unload utility or with an equivalent program
Unload the database with IMS HD Reorganization Unload utility or an equivalent program, such as IMS High Performance Unload for z/OS® unload utilities.
In this scenario, the database is assumed to be unloaded as in Example 1: Normal reorganization (Changing root addressable area) (see Figure 1 for the JCL). It is a standard database unload execution.
Run PSSR several times, each time with different DBD overrides
This step prints the randomization reports. It consists of five executions of PSSR (see Figure 1). The only difference between the five cases is the PSSR control statement.
- This case uses the DBD without overriding any parameters. It represents the database condition that this analysis is trying to improve. All PSSR reports (including the potentially large Record Sizes report) are printed.
- Here the number of blocks in the root addressable area is changed to 100 (column 20), and the number of RAPs in one block is changed to 4 (column 29). The leading zeros for these two control statement fields are required. The dash (-) in column 62 prevents the printing of both Record Sizes reports. These were printed in case 1, and there is no need to reprint them. (Modifying DBD parameters cannot change the size of a database record.)
- The randomizing module is changed to DFSHDC30 (column 11), the number of blocks in the root addressable area is changed to 100 (column 20), and the number of RAPs in one block is changed to 4 (column 29). The Record Sizes reports are not printed (column 62).
- The randomizing module is changed to DFSHDC20 (column 11), the number of blocks in the root addressable area is changed to 200 (column 20), and the number of RAPs in one block is changed to 1 (column 29). The Record Sizes reports are not printed (column 62).
- The randomizing module is changed to DFSHDC10 (column 11), the number of blocks in the root addressable area is changed to 400 (column 20), and the number of RAPs in one block is changed to 3 (column 29). The Record Sizes reports are not printed (column 62).
//PHYBLK1 EXEC FABSPSSR
//STEPHD.CTL DD *
ORDHDM
/*
//STEPHD.SYSIN DD *
SORT FIELDS=(5,20,BI,A),FILSZ=E9400000
MODS E15=(FABSRT15,50000,IMS2,N),E35=(FABSRT35,50000,IMS2,N)
END
/*
//*---------------------------------------------------------------
//PHYBLK2 EXEC FABSPSSR
//STEPHD.CTL DD *
ORDHDM 0000100 004 -
/*
//STEPHD.SYSIN DD *
SORT FIELDS=(5,20,BI,A),FILSZ=E9400000
MODS E15=(FABSRT15,50000,IMS2,N),E35=(FABSRT35,50000,IMS2,N)
END
/*
//*---------------------------------------------------------------
//PHYBLK3 EXEC FABSPSSR
//STEPHD.CTL DD *
ORDHDM DFSHDC30 0000100 004 -
/*
//STEPHD.SYSIN DD *
SORT FIELDS=(5,20,BI,A),FILSZ=E9400000
MODS E15=(FABSRT15,50000,IMS2,N),E35=(FABSRT35,50000,IMS2,N)
END
/*
//*---------------------------------------------------------------
//PHYBLK4 EXEC FABSPSSR
//STEPHD.CTL DD *
ORDHDM DFSHDC20 0000200 001 -
/*
//STEPHD.SYSIN DD *
SORT FIELDS=(5,20,BI,A),FILSZ=E9400000
MODS E15=(FABSRT15,50000,IMS2,N),E35=(FABSRT35,50000,IMS2,N)
END
/*
//*---------------------------------------------------------------
//PHYBLK5 EXEC FABSPSSR
//STEPHD.CTL DD *
ORDHDM DFSHDC10 0000400 003 -
/*
//STEPHD.SYSIN DD *
SORT FIELDS=(5,20,BI,A),FILSZ=E9400000
MODS E15=(FABSRT15,50000,IMS2,N),E35=(FABSRT35,50000,IMS2,N)
END
/*