Skip to main content

Wait Events Statistics

The Wait Events Statistics section of the AWR report shows which wait events sessions experienced most frequently during the report period. It is the AWR equivalent of the ASH wait event distribution — but computed from snapshot-level aggregates rather than individual samples.

{screenshot: awr-wait-events-section}


Data Source

Wait event statistics are derived from ASH samples aggregated into the snapshot history tables. The counts represent the number of ASH samples observed with each wait event between the begin and end snapshots.


Wait Events Table

ColumnDescription
RankPosition by sample count
Wait Event TypeCategory (Lock, IO, IPC, Client, Timeout, Other)
Wait EventSpecific event name
SamplesNumber of ASH samples with this wait event
% of Total WaitsProportion of all wait samples
% of DB TimeProportion of total DB Time

{screenshot: awr-wait-events-table}


Wait Event Categories

TypeDescriptionCommon Events
LockWaiting for a database lockrelation, transactionid, tuple
IOWaiting for disk I/ODataFileRead, WALWrite, BufFileRead
IPCInter-process communicationBgWriterHibernate, RecoveryConflict
ClientWaiting for clientClientRead, ClientWrite
TimeoutTime-based waitsPgSleep, RecoveryApplyDelay
CPUNo wait — actively on CPU(healthy state)

Reading the Results

Predominantly CPU

If the majority of DB Time is attributed to CPU (no wait), the instance is CPU-bound. This is generally healthy for compute-intensive workloads, but may indicate missing indexes or suboptimal query plans if unexpected.

High Lock Waits

Lock waits indicate contention between concurrent sessions. Combine this with the Lock Contention section to identify the specific blocking queries.

High IO Waits

I/O waits on DataFileRead suggest data is being read from disk rather than the buffer cache. Consider increasing shared_buffers or reviewing index coverage.

High WALWrite Waits

Sessions waiting on WALWrite indicate the WAL subsystem is a bottleneck. This may be caused by slow disk I/O on the WAL volume or synchronous_commit = on under heavy write load.


Next Steps