Suspensions and wait time

Class 3 suspension time is the amount of wait time, which includes synchronous buffer pool I/O wait time, log I/O wait time, lock and latch wait time and other wait times.

IRLM lock/latch

IRLM lock/latch suspension time is time spent waiting for locked resources, and latches that are used for internal serialization within IRLM. Examine the accounting records to determine whether the suspension time is caused by locks or latches. If the suspension is caused by locks, use performance trace classes 6 and 7. If the suspensions is caused by latches, check for the following conditions:
  • The IRLM trace is active.
  • The WLM dispatching priority of the IRLM address space is too low. It is best to use SYSSTC dispatching priority for the IRLM address space.
  • The IRLM is queried frequently by requests such as DISPLAY DATABASE LOCKS and MODIFY irlmproc,STATUS commands.
  • The DEADLOCK TIME value is to small and locking rates are high.
  • A large number of locks are held before an operation commits. If the MAX HELD LOCKS value in the accounting report is high, commit more frequently.

Db2 latch

Db2 latch suspension time indicates wait time for latches that are acquired internally within Db2 for short term serialization of resources such as storage and control block changes.

Synchronous I/O suspension time

Synchronous I/O suspension time is the total application wait time for synchronous I/Os. It is the total of database I/O and log write I/O. In the IBM® OMEGAMON® for Db2 Performance Expert on z/OS® accounting report, check the values for SYNCHRON. I/O, DATABASE I/O, and LOG WRITE I/O. Database I/O and log I/O are not reported separately at the package level.

Service task suspensions

Service task suspension is the accumulated wait time from switching synchronous execution units, by which Db2 switches from one execution unit to another.

Wait times for the following activities are the most common contributors to service task suspensions:
  • Phase 2 commit processing for updates, inserts, and deletes (UPDATE COMMIT - QWACAWTE). This value includes wait time for Phase 2 commit Log writes and database writes for LOB with LOG NO. For data sharing environments, it includes page P-locks unlocks for updated pages and GBP writes.
  • The OPEN/CLOSE service task. You can minimize this wait time by using two strategies. If the threshold set by the value of the DSMAX subsystem parameter is frequently reached, increase the value of the DSMAX subsystem parameter. If this threshold is reached, change CLOSE YES to CLOSE NO on data sets that are used by critical applications.
  • The SYSLGRNG recording service task.
  • The Data set extend/delete/define service task (EXT/DEL/DEF). You can minimize this wait time by defining larger primary and secondary disk space allocation for the table space.
  • Other service tasks (OTHER SERVICE TASK). Contributors to the other service tasks suspensions are likely to include time spent on the network for outgoing allied threads over TCP/IP connections, VSAM catalog updates, and parallel query cleanup. Other contributors are possible. The performance trace of the following IFCIDs provide useful information when the OTHER SERVICE TASK value is high:
    • 0170 and 0171
    • 0046, 0047, 0048, 0049, with 0050, when more detail is needed.

In the IBM OMEGAMON for Db2 Performance Expert on z/OS accounting report, the total of this information is reported in the SER.TASK SWTCH field. The field is the total of the five fields that follow it. If several types of suspensions overlap, the sum of their wait times can exceed the total clock time that Db2 spends waiting. Therefore, when service task suspensions overlap other types, the wait time for the other types of suspensions is not counted.

Other read suspensions

Other read suspensions result from by waiting to read pages that already have I/O in progress. The reported value is the accumulated wait time for read I/O for threads other than this one. It includes time for:
  • Sequential prefetch
  • List prefetch
  • Dynamic prefetch
  • Synchronous read I/O performed by a thread other than the one being reported

Other write suspensions

Other write suspensions result from waiting to update pages that already have I/O in progress. The reported value is the accumulated wait time for write I/O for threads other than this one. It includes time for asynchronous write I/O and synchronous write I/O performed by a thread other than the one being reported As a guideline, an asynchronous write I/O takes 0.1 to 2 milliseconds per page.

Page latch suspension

Page latch suspension indicates the accumulated wait time because of page latch contention.

Page latch contention can occur in highly concurrent insert environments. When a page is written to disk, multiple threads wait to update the same page, the first thread waits for other write I/O and other threads must wait for page latches. Longer page latch waits might occur if the disk writes are slower because of disk I/O performance issues. Page latch contention on data pages can occur during highly sequential updates to the same page from multiple threads. In a data sharing environment, high page latch contention might occur because of global locks for multithreaded applications that run on multiple members and use many insert, update, and delete operations.
  • If the suspension is on the index leaf page, use one of the following strategies:
    • Make the inserts random
    • Drop the index
    • Perform the inserts from a single member
    • Use a smaller index page size
  • If the page latch suspension is on a space map page, use the MEMBER CLUSTER option for the table space.
  • Activate and analyze the performance trace for IFCIDs 0226 and 0227 to analyze the page latch details.
The IBM OMEGAMON for Db2 Performance Expert on z/OS lock suspension report shows this suspension for page latch contention in the "other" category.

In the IBM OMEGAMON for Db2 Performance Expert on z/OS accounting report, this information is reported in the PAGE LATCH field.

Global lock suspension

Global transaction locks are used in data sharing environments. Their scope includes the entire data sharing group.

For more information, see: