版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/ctypyb2002/article/details/84305209
os: centos 7.4
db: postgresql 10.6
# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
# su - postgres -c "psql -c \"select version();\""
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
混合单进程
$ /usr/pgsql-10/bin/pgbench -b simple-update@3 -b select-only@6 -b tpcb-like@1 -r -T60 pgbenchdb
starting vacuum...end.
transaction type: multiple scripts
scaling factor: 20
query mode: simple
number of clients: 1
number of threads: 1
duration: 60 s
number of transactions actually processed: 226662
latency average = 0.265 ms
tps = 3767.686567 (including connections establishing)
tps = 3767.865414 (excluding connections establishing)
SQL script 1: <builtin: simple update>
- weight: 3 (targets 30.0% of total)
- 67967 transactions (30.0% of total, tps = 1129.780699)
- latency average = 0.399 ms
- latency stddev = 1.147 ms
- statement latencies in milliseconds:
0.002 \set aid random(1, 100000 * :scale)
0.001 \set bid random(1, 1 * :scale)
0.001 \set tid random(1, 10 * :scale)
0.000 \set delta random(-5000, 5000)
0.024 BEGIN;
0.160 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
0.095 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
0.084 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
0.033 END;
SQL script 2: <builtin: select only>
- weight: 6 (targets 60.0% of total)
- 135906 transactions (60.0% of total, tps = 2259.095969)
- latency average = 0.137 ms
- latency stddev = 2.824 ms
- statement latencies in milliseconds:
0.002 \set aid random(1, 100000 * :scale)
0.135 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
SQL script 3: <builtin: TPC-B (sort of)>
- weight: 1 (targets 10.0% of total)
- 22789 transactions (10.1% of total, tps = 378.809898)
- latency average = 0.634 ms
- latency stddev = 1.633 ms
- statement latencies in milliseconds:
0.002 \set aid random(1, 100000 * :scale)
0.001 \set bid random(1, 1 * :scale)
0.001 \set tid random(1, 10 * :scale)
0.000 \set delta random(-5000, 5000)
0.024 BEGIN;
0.162 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
0.095 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
0.114 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
0.116 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
0.084 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
0.035 END;
混合多进程
$ /usr/pgsql-10/bin/pgbench -b simple-update@3 -b select-only@6 -b tpcb-like@1 -r -j2 -c10 -T60 pgbenchdb
starting vacuum...end.
transaction type: multiple scripts
scaling factor: 20
query mode: simple
number of clients: 10
number of threads: 2
duration: 60 s
number of transactions actually processed: 244317
latency average = 2.460 ms
tps = 4065.028038 (including connections establishing)
tps = 4065.217730 (excluding connections establishing)
SQL script 1: <builtin: simple update>
- weight: 3 (targets 30.0% of total)
- 73307 transactions (30.0% of total, tps = 1219.706408)
- latency average = 3.030 ms
- latency stddev = 16.455 ms
- statement latencies in milliseconds:
0.002 \set aid random(1, 100000 * :scale)
0.001 \set bid random(1, 1 * :scale)
0.001 \set tid random(1, 10 * :scale)
0.000 \set delta random(-5000, 5000)
0.182 BEGIN;
2.019 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
0.298 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
0.318 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
0.201 END;
SQL script 2: <builtin: select only>
- weight: 6 (targets 60.0% of total)
- 146702 transactions (60.0% of total, tps = 2440.876989)
- latency average = 1.856 ms
- latency stddev = 15.552 ms
- statement latencies in milliseconds:
0.002 \set aid random(1, 100000 * :scale)
1.868 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
SQL script 3: <builtin: TPC-B (sort of)>
- weight: 1 (targets 10.0% of total)
- 24283 transactions (9.9% of total, tps = 404.028683)
- latency average = 4.292 ms
- latency stddev = 19.446 ms
- statement latencies in milliseconds:
0.002 \set aid random(1, 100000 * :scale)
0.001 \set bid random(1, 1 * :scale)
0.001 \set tid random(1, 10 * :scale)
0.001 \set delta random(-5000, 5000)
0.182 BEGIN;
1.984 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
0.297 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
0.413 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
0.681 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
0.486 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
0.246 END;