No one likes benchmarking. But it can be one of the highest impact things you do. Jelte Fennema-Nio and Marco Slot joined Claire Giordano and Pino de Candia on this episode of Path To Citus Con* podcast for developers who love Postgres—to discuss their journeys into performance benchmarking. And how it can change the course of your career. Do you need to find bottlenecks in your Postgres? Do you want to build skills with database benchmarks? There are many lovely benchmarking tools in the Postgres world: HammerDB, pgbench, YCSB, BenchBase, perf, & more. And in addition to running benchmarks themselves—asking the right questions, introspection, and profiling matter just as much.
*[Update: July 2024] Path To Citus Con has been renamed to Talking Postgres. All of the past podcast episodes from Path To Citus Con—now called Talking Postgres with Claire Giordano—can be found here: https://talkingpostgres.com
Links mentioned in this episode:
- Podcast: Path To Citus Con Ep01: Working in public on open source with Simon Willison & Marco Slot: https://talkingpostgres.com/episodes/working-in-public-on-open-source
- Streetlight effect: https://en.wikipedia.org/wiki/Streetlight_effect
- BenchBase: https://db.cs.cmu.edu/projects/benchbase/
- HammerDB: https://www.hammerdb.com/
- Slides: Intro to benchmarking with pgbench at PGConf NYC 2023 by Melanie Plageman: https://speakerdeck.com/melanieplageman/intro-to-benchmarking-with-pgbench
- Locust: https://locust.io/
- Blog post: How to benchmark performance of Citus and Postgres with HammerDB on Azure by Jelte Fennema-Nio: https://www.citusdata.com/blog/2022/03/12/how-to-benchmark-performance-of-citus-and-postgres-with-hammerdb/
- Profiling with perf: https://wiki.postgresql.org/wiki/Profiling_with_perf
- Flame Graphs: https://www.brendangregg.com/flamegraphs.html
- Brendan Gregg’s Website, a super-valuable resource for performance engineering: https://www.brendangregg.com/overview.html
- Video: Analyzing Postgres performance problems using perf and eBPF by Andres Freund: https://www.youtube.com/watch?v=HghP4D72Noc
- Video: Explanatory talk about compiler optimization and memory & caches by Matt Godbolt: https://www.youtube.com/watch?v=4_smHyqgDTU&t=52s
- Compiler Explorer is fantastic, especially if you want to know how different compilers will optimize your code: https://godbolt.org/
- Mark Callaghan Twitter account @MarkCallaghanDB: https://twitter.com/MarkCallaghanDB
- PGConf.dev CFP is open until Mon Jan 15 2024 at 11:59pm PST: https://2024.pgconf.dev/cfp/
- 3rd party performance benchmark in 2023 by GigaOM on Transaction Processing & Price-Performance Testing of Distributed SQL Databases: https://gigaom.com/report/transaction-processing-price-performance-testing/
- Blog post: "Query from any node" feature for Citus, by Marco Slot: https://www.citusdata.com/blog/2022/06/17/citus-11-goes-fully-open-source/