Automated Performance Testing of Postgres
summary
Heroku builds an automated pipeline that compiles Postgres, injects benchmarking tools and runs pgbench collector and pgbench workloads on isolated px dynos (c1.xlarge) against ~10 GB scales, with results captured in pgperf. Tests run 10-minute workloads and hit a surprising 160-client degradation on newer r3 instances. Write-heavy tests reveal an EBS effect: gp2 burst to ~3000 then ~200 IOPS after minutes, skewing throughput. Limitations include 24-hour dyno restarts, single-job concurrency and lack of OS-level metrics.
AI-written summary · about
chapters (36)
- 0:00Intro
- 1:20Heroku Postgres
- 2:53Monitoring Postgres
- 4:10Heroku Postgres infrastructure
- 4:44Elastic Block Storage
- 5:29Mutable ISH
- 6:13Longrunning servers
- 7:00Continuous regression testing
- 7:37PG perf
- 8:16Benchmarking Postgres
- 8:52PGBench
- 9:41PGBench Collector
- 10:18PGBench Github
- 10:31Benchmarking is controversial
- 11:21Benchmarking is an engineering tool
- 11:52Another thing we want to do
- 12:12So then the question now
- 12:22Heroku
- 13:27Containers
- 15:21IFor
- 16:27PXDinos
- 16:52Limitations
- 17:23JobRunner Limitations
- 19:23Bottlenecks
- 19:36System Setup
- 20:29Instant Memory
- 22:03TCP Be Test
- 23:23Burst Test
- 23:57GP2 Instant
- 25:20Wall Disk
- 25:39EBS Disk
- 26:05Wall Disc
- 27:27Future Plans
- 30:32Potential Improvements
- 31:32PGPerf
- 32:01PGPerf on AWS
related talks
44mBenchmarking your commits: The Postgres Performance Farm
31mDemanding the impossible rigorous database benchm
36mBest Practices in PostgreSQL Tuning: Navigating Key Performance Bottlenecks in the Cloud
43mPostgreSQL in the cloud: Theory and Practice
46mHow we made PG Fitter, Happier, More Productive
50mPerformance Archaeology
51mScaling Postgres to the next level at OpenAI
29mPerformance Archaeology - 20 years of improvements
