PlanetScale

Benchmarking Postgres 17 vs 18

Oct 14, 2025Ben Dicken
Benchmarking Postgres 17 vs 18
SummaryAI, from the source post

This post benchmarks Postgres 17 against Postgres 18, specifically evaluating the performance impact of the new `io_method` settings (`sync`, `worker`, `io_uring`) on read-only workloads. It details extensive benchmark configurations using sysbench on various AWS EC2 instances with different storage types (gp3, io2, local NVMe) and IOPS/throughput settings. The analysis compares query-per-second (QPS) results for single and high concurrency scenarios, demonstrating how storage latency and IOPS, as well as workload characteristics (range size, concurrency), influence the performance of each `io_method`. It concludes that `io_method=worker` is a strong default, local NVMe storage offers superior price-performance, and `io_uring`'s benefits are workload-dependent.

More from the Database Benchmarking Best Practices trail