Determining the appropriate CAB parameters

Determine the appropriate CAB parameters to improve the CAB performance.

About this task

The CAB performance can be considered satisfactory when the following conditions are met:

  • The number of OSAM blocks, OSAM LDS CIs, or ESDS CIs read in chained sequential mode is much greater than the number of blocks or CIs read in direct mode.
  • The percentage of unreferred-to sequential buffers is below 15 or 20%.
  • Elapsed time is substantially smaller with CAB than with BB.
  • The amount of buffer space that is used is acceptable.

If you did not get satisfactory results by running your IMS High Performance Unload job with the default CAB parameters, you can attempt tuning.


The following steps describe a possible approach to tuning CAB's reference pattern analysis logic:

  1. Run your application program or the FABHTEST utility on a dedicated system with CAB and with the default values for the CAB parameters.

    Activate the machine-readable buffer handler trace for future FABHBSIM runs. (This increases the processor time slightly; bear this fact in mind when you compare processor times.)

    Note: Performance tests with databases that contain fewer than 300,000 segments are not reasonable because CAB buffer handler has a high initialization overhead.

    If you code 'CABSTAT YES' in the HSSROPT data set, extensive buffer handler statistics are printed at the end of the job step on the HSSRSTAT data set. See CAB Statistics report and Data Set I/O Statistics report.

    Tip: After you have tuned the buffer handler, you can remove the CABSTAT control statement to reduce the content of the report. If no CABSTAT control statement is coded, or 'CABSTAT NO' is specified in the HSSROPT data set, only the summary page of the CAB Statistics is printed for each buffer pool.
  2. Run the same program with BB on a dedicated system by coding the BUF control statement in the HSSROPT DD.
  3. Check the results of both runs. First compare the elapsed time.

    Note the number of sequential buffers not referred to, and the number of blocks read in chained sequential mode and direct mode.

    If your database is well organized, CAB should show excellent elapsed time figures. Unless you want to reduce the buffer space, no further tuning is needed.

    If your database is poorly organized, CAB might show moderate or disappointing results.

    If the improvements are moderate—that is, the elapsed time of the CAB run is between 65% and 80% of the BB run—you should investigate whether the database reorganization interval is appropriate and whether the free space specifications are appropriate.

    You can also investigate the increase of the NBRSRAN parameter and the tuning of the REFT4 parameter to decrease a little more the elapsed time.

    If the results are disappointing—that is, if the elapsed time of the CAB run is not below 80% of the first run—the best thing, probably, is to reorganize the database more frequently to improve the specification of free space.

  4. If you decide to rerun with modified CAB parameters, you can use the FABHBSIM utility to compare the HSSRSTAT statistics of the original run with those of the new run.

    The FABHBSIM utility enables you to observe the effect that changes to parameters on HSSRCABP control statements have on buffer handler performance. FABHBSIM can be used for simulations of both CAB and BB.

    The statistics to be compared are the number of direct I/Os, the number of chained sequential I/Os, the number of sequential buffers note referred to, and the timing statistics.

    Restriction: FABHBSIM cannot be used for HALDBs.