发布于 2026-09-10T10:59:39.19388Z · Matty Stratton · TigerData 博客

写入密集负载下,PostgreSQL 落盘的字节数远多于应用提交的逻辑数据。Matty Stratton 按 1KB 一行测算,堆元组的 MVCC 头、索引维护和 WAL 记录合计产生约 2.5KB 实际写入,每秒 50MB 应用数据会变成 150 到 190MB 磁盘写入。结构性来源是 WAL 二次写入和检查点后的整页写,索引数量再线性叠加,每多一个约增 0.3 倍。调整检查点与精简索引能压到 2.5 倍左右,但消不掉底线。
写入密集负载下,PostgreSQL 落盘的字节数远多于应用提交的逻辑数据。Matty Stratton 按 1KB 一行测算,堆元组的 MVCC 头、索引维护和 WAL 记录合计产生约 2.5KB 实际写入,每秒 50MB 应用数据会变成 150 到 190MB 磁盘写入。结构性来源是 WAL 二次写入和检查点后的整页写,索引数量再线性叠加,每多一个约增 0.3 倍。调整检查点与精简索引能压到 2.5 倍左右,但消不掉底线。
来源记录
- center.info_item · 2201975c5c9c10d9 · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · 2201975c5c9c10d9 · 2026-10-03T04:08:55.967155Z