Tuning randomizer and DBD parameters for DEDB

Confirm that necessary information has been collected, tune the area, and verify the result of tuning.

Before you begin

Confirm that you have completed the following tasks:

Several key indicators are used to measure the overall health of an area. You have already checked some of the key indicators in the analysis reports that you used when you analyzed the area. The key indicators are also stored in the Sensor Data repository as sensor data of the area. Before you start this task, ensure that you can access the Sensor Data Statistics report that contains the latest sensor data. If you cannot access the report, run the FP DB Sensor Printing utility to obtain the report.

If you have decided to tune the randomizer, information about the characteristics of root sequence keys of database records, key values of all current database records, and additional key values for database records that are predicted to be added in near future can also help you tune the randomizing routine.

About this task

This task describes the steps for tuning the DBD parameters and the steps for tuning the randomizing routine. The objective is to adjust both the DBD parameters and the randomizing routine to suit the current characteristics of the database records in the area.

Specifically, the goal of this tuning task is to achieve the following results:

Shorter synonym chains with fewer unused RAPs
Generally, having zero synonyms is hard to achieve. Synonym chains are acceptable if they are short and they do not cause CI contention in the online environment.
A higher percentage of segments in RAA BASE
In a database where high performance is required, all root segments and direct dependent segments should reside in RAA BASE because any segments that are not in RAA BASE incur an extra physical I/O.
Fewer physical I/Os to access a root segment and a complete database record
Root I/O should be reduced to slightly greater than 1, and record I/O should be approximately 1.5.
For a high performance database, the maximum value for both root I/O and record I/O should be 1.00.

Procedure

Tuning of DEDB areas involves the tuning of randomizing modules, changing the DBD definition, and verifying the effectiveness of the tuned areas.

Tip: Consider using the Tune function of Fast Path Advanced Tool or the DEDB Tuning Aid utility of Fast Path Basic Tools. These utilities help you determine the effective database definition by evaluating the potential benefits, or impact, of changes to an existing area without the overhead of unloading and reloading the databases.

  1. Optional: Collect the segment information records for use with the DEDB Tuning Aid utility.

    This step is required only if you use the DEDB Tuning Aid utility. If you use the Tune function, you can skip this step.

    To use the DEDB Tuning Aid utility, you must generate the segment information record data set for load simulation. Run the Online Pointer Checker (OPC) utility of Fast Path Online Tools by specifying the TYPRUN=MODEL option.

    See the following topics in the IMS Fast Path Solution Pack: IMS High Performance Fast Path Utilities User's Guide:
    • For information about using the DEDB Tuning Aid utility, see the topic "Tuning a DEDB offline with FPB".
    • For information about using the OPC utility, see the topic "Analyzing a DEDB online with FPO".
    • For the TYPRUN=MODEL option of OPC, see the topic "TYPRUN keyword".
    • For JCL examples to run OPC with TYPRUN=MODEL and to use DEDB Tuning Aid, see the topic "Example 5: Collecting segment information records for database tuning".
  2. Refer to the DB Record Profile Analysis report to determine the average, maximum, and minimum record lengths (including the prefix lengths).

    You can also obtain these values by viewing the Sensor Data Statistics report. Look at the values for data elements DB_AVG_DBREC_LENGTH, DB_MAX_DBREC_LENGTH, and DB_MIN_DBREC_LENGTH.

    If average and maximum synonym chain lengths are long and CI contention can occur, consider expanding the RAA BASE section and verify that the number and the length of the synonym chains have been reduced.

    To generate a DB Record Profile Analysis report, see Analyzing database record profile.

  3. Determine the appropriate CI size and appropriate values for the UOW and the ROOT parameters by evaluating following statistics values and user preferences:
    • The total number of records (the DB_NUM_ROOT value in the Sensor Data Statistics report)
    • Database record lengths (the three data element values that are mentioned in the previous step)
    • Overflow usage (DOVF and IOVF)
      Look at the values of the following data elements in the Sensor Data Statistics report:
      • DB_PCT_BYTES_FS_DOVF
      • DB_PCT_BYTES_FS_IOVF
      • DB_PCT_NUM_RAPCI_OVFL
      • DB_PCT_NUM_UOW_USE_DOVF
      • DB_AVG_NUM_DOVFCI_BY_UOW
      • DB_MAX_NUM_DOVFCI_BY_UOW
      • DB_NUM_UOW_USE_IOVF
      • DB_PCT_NUM_UOW_USE_IOVF
      • DB_AVG_NUM_IOVFCI_BY_UOW
      • DB_MAX_NUM_IOVFCI_BY_UOW
      • DB_MIN_NUM_IOVFCI_BY_UOW
      • DB_PCT_NUM_IOVFCI_USED
    • Number of areas
    • Distribution of root sequence keys and randomizing logic
    • An optimal packing density. The density of 60% is reasonable as a general rule. However, you must consider future application activities and the database tuning cycle when you determine the optimal packing density. Examine at the DB_PCT_BYTES_FS_RAA value in the Sensor Data Statistics report to calculate the current packing density.
    • The preferred percentage of records that should not extend into IOVF. Look at the DB_PCT_NUM_DBREC_IOVF value in the Sensor Data Statistics report to see the current percentage.
    • The current values for CI size, UOW parameters, and ROOT parameters. You can obtain these values by examining the following data element values in the Sensor Data Statistics report:
      • DB_AREADEF_CISIZE
      • DB_AREADEF_UOW1
      • DB_AREADEF_UOW2
      • DB_AREADEF_ROOT1
      • DB_AREADEF_ROOT2

    To determine appropriate parameter settings, consider the following factors:

    • A DEDB area that has a high percentage of large database records can experience performance problems that are caused by a large number of database record I/Os. Tuning the randomizer or DBD parameters for such an area might be difficult. To alleviate these difficulties, consider these possible actions:
      • Use a larger CI size for the area.
      • Evaluate the usage of database segment compression to reduce the average size of database records.

      Using a compression exit routine to store the segments on DASD in a compressed format can be useful, especially if the compression can significantly reduce the average database record size in such a way that the average number of database record I/Os can be reduced.

      When you use compression routines, be careful about segment overflow that can be caused by replace calls that extend the compressed size of a segment.

    • The randomizing module must be tuned to accommodate the new UOW geometry and the new total number of RAPs. You must also consider the current and the future distribution of root sequence keys and database record lengths.
    • UOW size can be large or small, but the number of CIs that are reserved for DOVF should not exceed 1 (that is, DOVF should never be used). Similarly, the number of UOWs that are reserved for IOVF should not exceed 1.
  4. Optional: Run the Tune function or the DEDB Tuning Aid utility.
    Use the Tune function or the DEDB Tuning Aid utility to simulate a reload for the area applying new DBD definitions or randomizer changes. By using either of the utilities, you can determine the effects of the changes without the overhead of unloading and reloading the databases.
    • With the Tune function, you can generate the Tuning Aid record data sets, which can be reused in the subsequent Tune jobs. By reusing the Tuning Aid records, you can run the Tune function faster and simulate various parameters with iterative runs with less amount of time. For more information about the Tune function, see the topic "Tuning a DEDB offline with FPA" in the IMS Fast Path Solution Pack: IMS High Performance Fast Path Utilities User's Guide.
    • With the DEDB Tuning Aid utility, you can use the segment information record data set that you prepared in Step 1 as the input to the utility.
    Repeat this tuning activity until you determine the optimal changes.
  5. Unload and reload the area by using the new UOW definition and the new randomizing module.

    You can use the Unload and the Reload functions of FPA. If you have defined additional areas in Step 3, you can use the FPA Unload function to unload the current area into multiple unloaded segment records (USR) data sets, which means that you can create one data set for each new area, and apply the new area definitions and new randomizing logic. Then, you can use the FPA Reload function to reload all new areas in one job step by specifying these USR data sets as input.

    Tip: FPA Reload can generate analysis reports and other relevant reports that contain information about the reloaded areas. FPA Reload can also store sensor data for the reloaded areas in the Sensor Data repository and generate the Sensor Data Statistics report for the reloaded area. By comparing the values in this report with the values in the old Sensor Data Statistics report, you can easily identify how the health of the area has changed.

    For instructions for running the FPA Unload and the Reload functions, see the topic "Scenario: Restructuring DEDB areas" in the IMS Fast Path Solution Pack: IMS High Performance Fast Path Utilities User's Guide.