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.
- 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".
- 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.
- 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.
- 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.
- 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.