Fork/leveldb
Fork更新于 2026/06/26
LevelDB latency experiments
面向 LevelDB WAL 与 compaction 长尾延迟的测量、group commit 优化和同步写实验分支。
这个 fork 用可复现 benchmark 分离 WAL fdatasync 与 compaction 对前台请求的长尾影响,再针对同步写路径做小范围优化。实验保持 LevelDB API 和存储格式兼容;其中 wal_bytes_per_sync 默认关闭,group commit 调度则会改变默认写入分组行为。
已完成实验
- 扩展 histogram,统一输出 p50、p95、p99、p99.9 与 max。
- 增加
readwhilesyncwrite、syncmixedwrite和基线脚本。 - 引入可选
wal_bytes_per_sync,在 Linux 使用sync_file_range提前回写脏页。 - 调整 batch group,使异步 leader 可以吸收同步写者并代表整组执行一次 sync。
- 为 mixed-sync durability 与 sync coalescing 增加回归测试。
- 保存各阶段 A/B 报告和跨机器恢复步骤。
测试表明文件系统本身的 journal latency 可能掩盖优化收益,因此该分支更强调先测量存储地板,再决定继续优化 WAL 还是 compaction 调度。