<!-- llms-explorer concept facts · https://llms-explorer.com/tree/mongodb-cache-pressure-monitor-and-ticket-admission/ · pack 2026-10-30 · ~1974 tokens -->

# MongoDB cache-pressure monitor and ticket admission

> Source-anchored research for MongoDB cache-pressure monitor and ticket admission. Run status: COMPLETED.

Parent: [WiredTiger cache eviction and dirty ratio](https://llms-explorer.com/tree/wiredtiger-cache-eviction-and-dirty-ratio/) · 4 facets · 20 facts · page: https://llms-explorer.com/tree/mongodb-cache-pressure-monitor-and-ticket-admission/

## How it works

- The examined master README describes WiredTigerCachePressureMonitor as combining reached/exceeded eviction triggers, elapsed time without commits/progress, and application-thread eviction time; dirty-cache percentage alone is not its stated decision rule. (low confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/README.md)
- Do not raise concurrency solely because available tickets reach zero. First investigate CPU, disk, cache eviction and query efficiency; admitting more operations into an already saturated storage engine can worsen queues and latency. (medium confidence) — [source](https://help.aliyun.com/en/mongodb/user-guide/parameter-tuning-recommendations)

## Problems, failure modes and limitations

- WT-17697 reports that removing the updates eviction dimension also removed updates-pressure visibility from MongoDB's monitor. The author identifies altered dynamic admission as a plausible performance confound and says FTDC alone cannot isolate that effect. (low confidence) (verified as of 2026-06-04) — [source](https://jira.mongodb.org/browse/WT-17697)
- Tickets limit operations concurrently admitted to the storage engine; they do not directly set requests per second, client connection count, or a fixed memory allocation per ticket. Waiting operations queue when their pool cannot admit them. (medium confidence) (verified as of 2026-09-11) — [source](https://www.alibabacloud.com/help/en/mongodb/user-guide/parameter-tuning-recommendations)

## Comparisons and alternatives

- Read and write tickets bound simultaneous storage-engine operations in separate pools; they are concurrency capacity rather than requests-per-second quotas or a fixed memory allocation per client connection. (medium confidence) — [source](https://help.aliyun.com/en/mongodb/user-guide/parameter-tuning-recommendations)
- Percona's October 2025 experiment on Percona Server for MongoDB 8.0.8 lowered the dynamic concurrency ceiling and observed reduced CPU and disk activity alongside more queued operations. This demonstrates a resource-versus-queueing tradeoff, not a universally optimal ticket count. (low confidence) (verified as of 2025-10-22) — [source](https://www.percona.com/blog/customizing-the-new-mongodb-concurrency-algorithm/)
- Percona's PMM troubleshooting guidance correlates high checkpoint duration with increased ticket occupancy and recommends examining cache activity alongside ticket usage. Treat this as a diagnostic correlation rather than proof that ticket scarcity causes cache pressure. (low confidence) — [source](https://www.percona.com/blog/pmm-101-troubleshooting-mongodb-with-percona-monitoring-and-management/)
- Do not increase ticket limits merely because available reaches zero: admitting more work when CPU, disk or cache is saturated can worsen eviction and latency. Lower concurrency can protect resources while increasing queued requests, so measure both sides of the tradeoff. (medium confidence) (verified as of 2026-09-11) — [source](https://www.alibabacloud.com/help/en/mongodb/user-guide/parameter-tuning-recommendations)

## Facts and statements

- The README's cache-pressure remediation worker aborts oldest transactions. MongoDB's v8.2 worker checks storage-engine interruptibility, rechecks pressure during its loop, and limits each batch by estimated bytes and successful kills. (high confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/README.md)
- The monitor exposes sensitivity, moving-average smoothing, stall-window and polling controls. Its README warns that workload spikes and changing read/write ticket counts can affect detection; these controls require workload-specific interpretation. (low confidence) (verified as of 2026-10-30) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/README.md)
- MongoDB admission control places execution-control tickets before global-lock acquisition. Eligible operations without capacity must wait; the admission README reserves exemptions for critical availability, observability and resource-release work. (low confidence) (verified as of 2026-10-27) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/admission/README.md)
- MongoDB introduced dynamic storage-engine ticket adjustment in 7.0. The throughputProbing algorithm adjusts concurrency in response to throughput; historical descriptions of a permanently fixed 128-ticket pool must be scoped to older or explicitly fixed configurations. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/manual/core/wiredtiger/)
- For MongoDB 7.0 and later, low or zero available tickets alone do not establish overload. Sustained queued operations provide stronger evidence; inspect serverStatus queues.execution on versions exposing that section. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/manual/reference/command/serverStatus.md)
- MongoDB 7.0 introduced default dynamic adjustment of read/write storage-engine concurrency; ticket capacity is therefore not a fixed 128-per-pool assumption for live diagnosis. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/manual/core/wiredtiger/)
- A low available-ticket count alone does not establish overload under dynamic admission. Examine queued read/write work and latency, together with CPU, disk and cache pressure. (high confidence) (verified as of 2026-10-30) — [source](https://www.mongodb.com/docs/manual/core/wiredtiger/)
- The periodic cache-pressure rollback worker checks storage-engine pressure and attempts to abort oldest transactions. In v8.2 its check passes the numbers of used write and read tickets to the storage engine. (medium confidence) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/README.md)
- The v8.2 rollback worker returns immediately unless featureFlagStorageEngineInterruptibility is enabled, and v8.2 storage_parameters.idl sets that flag default to false. Presence of the implementation does not establish default activation in 8.2. (high confidence) — [source](https://github.com/mongodb/mongo/blob/v8.2/src/mongo/db/periodic_runner_cache_pressure_rollback.cpp)
- In v8.2, the rollback worker rechecks pressure between abort attempts and applies per-batch kill and estimated-memory limits; it also records passes, successfulKills, skippedSessions, timedOutKills and bytesClearedEstimate under abortOldestTransactions metrics. (low confidence) — [source](https://github.com/mongodb/mongo/blob/v8.2/src/mongo/db/periodic_runner_cache_pressure_rollback.cpp)
- Cache-pressure detection includes a configurable eviction-stall threshold, observation window and exponential moving-average alpha for ticket counts. These are workload-sensitive controls, not a universal dirty-ratio alarm. (medium confidence) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/README.md)
- Percona tested concurrency tuning on PSMDB 8.0.8 and reported that limiting throughputProbingMaxConcurrency to 8 reduced CPU and I/O use but increased queued operations. This is workload-specific evidence, not a generally recommended setting. (low confidence) (verified as of 2025-10-22) — [source](https://www.percona.com/blog/customizing-the-new-mongodb-concurrency-algorithm/)
