Lessons Learned from benchmarking and profiling distributed PostgreSQL
summary
Used the Citus Benchmark Suite plus YCSB via JDBC to run 100 million-record tests with 100% INSERT (workload A) and 100% SELECT (workload C). INSERT throughput rises with connections until out‑of‑memory errors near 3600; INSERTs are memory‑limited (~31 connections per GB) and spend most time waiting for WAL flushes. SELECTs peak around 800 connections and then degrade as CPU saturates (3200 connections); diagnosis uses iostat, PostgreSQL logs, and perf with a 0.01% monitor sample.
AI-written summary · about
chapters (7)
- 0:00Intro
- 1:44Architectures for Distributed PostreSQL
- 5:53The PostgreSQL Query Processing Pipeline
- 8:56The scope of the research
- 11:09Benchmarking Citus
- 17:41Identifying bottlenecks
- 22:14Key Takeaways
related talks
57mPostgreSQL When It's Not Your Job
36mBest Practices in PostgreSQL Tuning: Navigating Key Performance Bottlenecks in the Cloud
26mTroubleshooting High CPU Utilization in PostgreSQL Databases
43mTuning PostgreSQL for High Write Workloads
32mLoading at Hyperscale: Advanced Data Import Techniques for Citus
31mDemanding the impossible rigorous database benchm
18mBest Practices for Connection Management and Memory Allocation
36mAutomated Performance Testing of Postgres
