This has results for Postgres 16.0 vs sysbench on a medium server and the news continues to be good. I previously shared results for this on a small server.
tl;dr
- Postgres 16.0 is faster than 15.2
- The improvement for reads is larger than for writes
I used sysbench and my usage is explained here. Postgres was configured to cache all tables.
This benchmark used a c2-standard-30 server from GCP with 15 cores, hyperthreads disabled, 120G of RAM, Ubuntu 22.04 and 1.5TB of NVMe SSD with XFS (SW RAID 0 over 4 local devices).
The benchmark is run with 8 clients and 4 table with 20M rows per table. The read-only tests ran for 600 seconds each and the other tests ran for 1200 seconds each. The command line for my wrapper scripts is:
bash r.sh 4 20000000 600 1200 md127 1 1 8
The benchmark used the x7a28 config.
Results
A spreadsheet with the results is here. It has two sheets: one with absolute QPS for each version tested, the other with the relative QPS per version. The relative QPS is: (QPS for me) / (QPS for 15.2). With relative QPS it is easy to quantify improvements and regressions.
There are ~42 tests and each can be called a benchmark step or microbenchmark. I will call them benchmark steps. These are put into one of 5 groups based on the workload:
- point query, part 1 - point queries that don't use the random-points benchmark step
- point query, part 2 - point query variants that use the random-points benchmark step
- range query, part 1 - range queries without aggregation
- range query, part 2 - read-only variants of the original sysbench workload that does range queries with aggregation
- writes - benchmark steps that do insert, update and delete
The y-axis starts at 0.8 rather than 0 to make it easier to see the changes. In a few cases the y-axis range excludes outliers, values too big or too small. But everything can be read on the spreadsheet.
- point queries, part 1 - Postgres 16.0 is faster than 15.2
- point queries, part 2 - Postgres 16.0 is faster than 15.2
- range queries, part 1 - Postgres 16.0 is faster than 15.2
- range queries, part 2 - Postgres 16.0 is faster than 15.2
- writes - Postgres 16.0 is faster than 15.2, but the improvement here is smaller than for reads
No comments:
Post a Comment