COMMIT_ACT
Short Description
This means a session is waiting for a COMMIT (or ROLLBACK) to complete.
Detailed Descriptionβ
This means a session is waiting for a COMMIT (or ROLLBACK) to complete.
At this point Db2 is doing the end-of-transaction work, which can include:
- Flushing log buffers to disk (log I/O)
- Coordinating commit ordering (especially under high concurrency)
- Releasing locks
- Two-phase commit work (if using HADR, XA, or distributed transactions)
In practice, COMMIT_ACT almost always points to log subsystem pressure, not slow SQL execution.
How to reduce this waitβ
Most effective levers, roughly in order of impact:
1. Improve log I/O latencyβ
- Put active logs on fast storage (NVMe > SSD > network disks)
- Avoid sharing log disks with data files or backups
- Check for spikes in log_disk_wait_time
2. Reduce commit frequencyβ
- Batch work and commit less often
- Avoid βcommit per rowβ patterns
- Use larger transactions where safe
3. Increase log buffer sizeβ
- Increase LOGBUFSZ so commits donβt wait for buffer flushes as often
- Especially important for high-throughput OLTP systems
4. Tune logging configurationβ
- Ensure LOGPRIMARY / LOGSECOND are sized appropriately
- Avoid frequent log file allocation during peaks
- Preallocate logs if possible
5. Check concurrency hot spotsβ
- Many sessions committing at once can serialize on the log
- Connection pools with aggressive auto-commit can amplify this
6. HADR / distributed transactionsβ
- In HADR sync modes, commit waits may include standby acknowledgement
- XA / federated work adds commit coordination overhead
Additional Linksβ
- IBM Docs β Db2 LUW Wait Events
- IBM Docs β Transaction Logging and Performance
- IBM Support β Diagnosing commit and log waits
Search onlineβ
If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.