benchmark_v3.txt
text/plain
Filename: benchmark_v3.txt
Type: text/plain
Part: 0
Machine:
CPUs: 16 (8 cores, 2 threads/core, 1 socket)
CPU model: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
RAM: 29Gi
Build configurations:
release: buildtype=release, cassert=false, ndebug=true
Benchmark:
For each test: pg_stat_statements_reset(), then pgbench (see per-test command below).
While pgbench is running:
- sample pg_stat_activity wait events (WHERE state = 'active') every 1s
- query pg_stat_statements (entries, hot/cold calls) every 20s
hot_calls = sum(calls) FILTER (WHERE query LIKE '%hot%')
cold_calls = sum(calls) FILTER (WHERE query NOT LIKE '%hot%' AND query IS NOT NULL)
=== churn (release, simple) ===
pgbench -f bench_churn.sql -c 64 -j 16 -T 300 -M simple
+---------------+-------------------------+----------------------------------+----------+
| | patch | upstream | delta |
+---------------+-------------------------+----------------------------------+----------+
| TPS | 206959 | 165830 | +24.8% |
| entries | 4968 | 4947 | |
| hot_ent(avg) | 1000 | 1000 | |
| cold_ent(avg) | 3878 | 3883 | |
| hot_cal(avg) | 25601611 | 19872536 | |
| cold_cal(avg) | 805 | 4458 | |
| deallocs | 11935433 | 38501 | |
| top_wait | LWLock:PgStatsDSA (502) | LWLock:pg_stat_statements (7757) | |
+---------------+-------------------------+----------------------------------+----------+
=== light_churn (release, simple) ===
pgbench -f bench_light_churn.sql -c 64 -j 16 -T 300 -M simple
+---------------+--------------+---------------------------------+----------+
| | patch | upstream | delta |
+---------------+--------------+---------------------------------+----------+
| TPS | 242167 | 238139 | +1.6% |
| entries | 4992 | 4839 | |
| hot_ent(avg) | 1000 | 1000 | |
| cold_ent(avg) | 3988 | 3900 | |
| hot_cal(avg) | 36228974 | 36942948 | |
| cold_cal(avg) | 9545 | 56178 | |
| deallocs | 215079 | 864 | |
| top_wait | none | LWLock:pg_stat_statements (320) | |
+---------------+--------------+---------------------------------+----------+
=== multi_stmt (release, simple) ===
pgbench -f bench_multi_stmt.sql -c 64 -j 16 -T 300 -M simple
+---------------+--------------+--------------+----------+
| | patch | upstream | delta |
+---------------+--------------+--------------+----------+
| TPS | 18186 | 17815 | +2.0% |
| entries | 6 | 6 | |
| deallocs | 0 | 0 | |
| top_wait | none | none | |
+---------------+--------------+--------------+----------+
=== select1 (release, simple) ===
pgbench -f bench_select1.sql -c 64 -j 16 -T 300 -M simple
+---------------+--------------+--------------+----------+
| | patch | upstream | delta |
+---------------+--------------+--------------+----------+
| TPS | 286444 | 289616 | -1.0% |
| entries | 4 | 4 | |
| deallocs | 0 | 0 | |
| top_wait | none | none | |
+---------------+--------------+--------------+----------+