Postgres vs. Linux filesystems
summary
Benchmarks run on 6.3 kernels with pgbench and pg_dump against NVMe and SATA SSDs on a two‑socket 32‑core box, scale factors 100/500/2000 (IO‑bound at the largest). Key findings: ext4 and xfs show near‑parity (within ~10%); btrfs and ZFS cost throughput and add latency spikes but native ZFS snapshots keep throughput while LVM snapshots cripple ext4/xfs. Tuning matters (dirty background bytes, disable full_page_writes on ZFS) and CPU, not just disk, limits NVMe saturation.
AI-written summary · about
chapters (12)
- 0:00Introduction and motivation
- 1:51Why Postgres relies on filesystems
- 8:26Postgres storage and kernel interaction
- 15:59Benchmark methodology and setup
- 19:56Bulk load performance results
- 25:59OLTP workload performance
- 30:12Latency and throughput analysis
- 36:43Tuning page cache and ZFS options
- 40:00Impact of snapshots on performance
- 42:11NVMe saturation and future directions
- 45:05Open questions and next steps
- 45:48Q&A session
related talks
25mVindicating ZFS with PostgreSQL: Unleashing the Power of Scalability
35mVindicating ZFS with PostgreSQL: Unleashing the Power of Scalability
27mPostgres isn’t slow, your storage is
46mUnlock PostgreSQL’s True Performance with Local SSDs
53mDatabase Hardware Selection Guidelines
28mRun PostgreSQL in Warp Speed Using NVMe/TCP in the Cloud
36mBest Practices in PostgreSQL Tuning: Navigating Key Performance Bottlenecks in the Cloud
51mPostgreSQL on ZFS
