PostgreSQL Performance Mysteries: When Low IOPS Still Means High Latency
Thursday, October 01 · 11:30–12:20
PostgreSQL performance problems are not always what they appear to be. In production systems, teams often encounter increased query latency, disk bandwidth saturation, or application slowdowns—even when traditional indicators like IOPS remain low or unchanged. This talk examines real-world PostgreSQL incidents where performance degradation was driven not by slow queries, CPU pressure, or missing indexes, but by memory behavior, cache eviction, and interactions between PostgreSQL shared buffers, the operating system page cache, and storage layers. We’ll walk through scenarios where: Query execution times appeared normal, yet applications experienced latency Disk bandwidth increased without a corresponding rise in IOPS Restart events or memory pressure triggered cascading I/O activity Increasing shared_buffers did not improve performance The session highlights how to correlate PostgreSQL internal statistics, wait events, and storage behavior to uncover bottlenecks that are often overlooked. Practical techniques using tools such as pg_buffercache, pg_stat_statements, wait event analysis, and cache warming strategies (including pg_prewarm) will be covered. The focus is on understanding behavior at scale, identifying the metrics that matter, and applying effective diagnostic and mitigation approaches in production environments.