WiredTiger Storage Engine Internals

Parent: MongoDB Performance Troubleshooting · researched 2026-05-28T18:35:25.663Z· 20 sources · 21 concepts · skill mongodb-wiredtiger-internals

WiredTiger has been MongoDB's default storage engine since 3.2 (replacing MMAPv1). It is a B-tree backed, MVCC, copy-on-write engine with document-level concurrency, configurable in-memory cache, bloc

MongoDB WiredTiger Storage Engine Internals

1. Architecture Overview

Three layers

File layout under `dbPath`

2.1 Default sizing

2.2 What lives in the cache

2.3 Two caches at once

3. Eviction (the hottest topic in production)

3.1 Eviction subsystem

3.2 The four thresholds you must know

3.3 Application thread eviction — the smoking gun

3.4 Tuning eviction at runtime

3.5 Reconciliation (how dirty eviction actually works)

4. Checkpoint and Journal — Two Durability Mechanisms

4.1 Checkpoint

4.2 Journal (write-ahead log)

4.3 Recovery

4.4 Group commit and syncdelay

5. MVCC, Timestamps, and the History Store

5.1 Snapshot isolation

5.2 Timestamp APIs

5.3 The history store (WiredTigerHS.wt)

5.4 Long-running transactions — the cardinal sin

6. Compression

6.1 Block compression (collection data)

6.2 Prefix compression (indexes only)

6.3 Journal compression

7. Block Manager and Page Sizing

7.1 Default page sizes

7.2 In-memory page splits

7.3 The free list

8. Read/Write Tickets and Concurrency

8.1 Pre-7.0 behavior

8.2 7.0+ dynamic ticketing

8.3 Document-level locking

9. In-Memory Storage Engine (Enterprise)

9.1 Configuration

9.2 Use cases

9.3 Trade-offs

10. Encryption at Rest

10.1 Cipher

10.2 Key management

10.3 Atlas behavior

11.2 FTDC — the post-incident truth source

11.3 Verbose component logging

11.4 wt CLI tool

12. Practical Tunables (the short list)

13.1 Cache sizing

13.4 Switching the journal compressor to zstd

15.1 "Cache full" / WT_CACHE_FULL

15.2 Persistent dirty % above 20%

15.3 History store growing unbounded

15.4 Read/write ticket starvation

15.5 Slow startup / recovery

15.6 Cold-cache after restart / failover

15.7 Corruption: validate, repair, and forensics

15.8 Index builds inflating the cache

17. Related Skills

18. References

Children

Frontier under this node: Application Thread Eviction, Block Compression (snappy/zlib/zstd), Block Manager and Page Sizing, Cache Architecture, Checkpoint Mechanism, Corruption (validate, --repair, wt CLI), Diagnostic Surface (serverStatus, FTDC, verbose components), Encryption at Rest (KMIP, AES-256-CBC/GCM), Eviction (clean/dirty targets and triggers), History Store (WiredTigerHS.wt), In-Memory Storage Engine (Enterprise), Journal (Write-Ahead Log), Long-Running Transactions and Cache Pressure, MVCC and Snapshot Isolation, MongoDB 8.0 WT Improvements (TCMalloc, ExpressPlan), Prefix Compression (indexes), Read/Write Tickets and Dynamic Concurrency (7.0+), Reconciliation and Page Splitting, Timestamp APIs (oldest/stable/pinned), WT_CACHE_FULL / Cache Pressure Troubleshooting, wiredTigerEngineRuntimeConfig

← the whole tree · 3D view· how to read this page