PGCon2019 - 1.0.8

PGCon 2019
The PostgreSQL Conference

Jeremy Schneider
Day Talks - Day 2 - 2019-05-31
Room DMS 1110
Start time 10:00
Duration 00:45
ID 1371
Event type Lecture
Track Performance
Language used for presentation English

Testing PostgreSQL Performance

Finding and pushing the limits of PostgreSQL

Can I study how PostgreSQL will handle different workloads? How can I validate different PostgreSQL configurations? What limits are likely to impact my performance first? This talk will discuss approaches for testing PostgreSQL to understand behavior when modifying Grand Unified Configuration Settings (GUCs), or to find limits and see where and how PostgreSQL breaks when those limits are reached.

We will cover automated & repeatable tests, designing valid experiments and taking advantage of wait events in analysis. It will include real examples of test plans, configurations and results.

As one example, we will look at a recent benchmark showing community postgresql at 2 million TPS and indicating a performance ceiling introduced by pgstatstatements. We will look at how the benchmark was constructed and how the results were analyzed.

The talk is accompanied by (and makes use of) an open source ansible-based toolkit to fully automate operating system setup, database build and test execution across multiple versions and configurations of open source PostgreSQL with or without custom patches, significantly improving repeatability and velocity.