第 10 章 · WAL 与 Checkpoint · 交互演示

纯前端 HTML/CSS/JS,零依赖。本页通过 3 个互动模块带你直观理解:WAL 写入链路、Checkpoint 周期、崩溃恢复。

① WAL 写入流程动画(synchronous_commit 模式对比)

客户端
COMMIT
Backend
改 dirty buffer
wal_buffers
共享内存
OS Cache
fsync 之前
磁盘
pg_wal/

② Checkpoint 周期 + 崩溃恢复模拟

每个蓝条 = 1s 内写入的 WAL;绿条 = checkpoint;红线 = crash 发生位置;黄条 = 恢复时需要重放的 WAL 段。

秒:

③ LSN 与 WAL Segment 文件名计算器

输入两个 LSN(格式 XX/XXXXXXXX),计算字节差及对应的 segment 文件名。

④ 关键参数速查 / 推荐配置

场景fsyncsynchronous_commit wal_compressioncheckpoint_completion_targetmax_wal_size
核心交易(金融)onremote_applyon(lz4)0.94-8GB
普通业务ononon(lz4)0.92-4GB
高吞吐弱一致(埋点)onoffoff0.94GB+
大批量初始化导入on(导完别忘开)offoff0.516GB
⚠ 危险:纯实验机offoffoff0.91GB