Previous Topic: Influencing Journaling PerformanceNext Topic: Improving Warmstart Performance


Reducing Journal File I/O

Increasing Journal Buffer Size

If your system encounters frequent or sizable rollback operations, it may be possible to reduce the I/O to the journal file by increasing the number of pages in the journal buffer. Minimally, the journal buffer should hold at least 5 pages. Increasing the number of pages may significantly improve performance.

Deferring Journal Writes

You can reduce the amount of journal I/O by instructing CA IDMS/DB to defer the writing of journal buffers. Normally CA IDMS/DB forces the writing of a journal buffer to the journal file whenever a COMT, ENDJ, or ABRT record is written to the journal buffer or when an updated database page is written to disk and the journal buffer contains a before image for a record on that page. You can request that CA IDMS/DB defer the journal write by specifying a non-zero JOURNAL TRANSACTION LEVEL either in the system generation SYSTEM statement or in a DCMT VARY JOURNAL command.

How Transaction Levels Work

When the number of active transactions in the central version is greater than the journal transaction level, CA IDMS/DB defers the writing of a journal buffer. If the journal write is deferred, the task requiring the write is placed in a wait state until the journal block is written. The journal block is written when:

Note: An 'active transaction' is one for which journal records are being created.

By deferring the journal write, CA IDMS/DB is able to place more information on a journal block, thus reducing the need to write as many blocks.

Considerations

The establishment of a journal transaction level is most effective in an active system; that is, one in which many update transactions are active at one time. If used, you should set the journal transaction level to be at least 4. The lower the number, the longer tasks deferring their journal writes may wait.