Fork me on GitHub

daydayup863

人生就像一杯茶,不会苦一辈子,但总会苦一阵子。

0%

PostgreSQL 不同版本性能基准测试对比

此次测试主要用于对比生产环境下pg14比较pg11前版本带来的性能提升。

主要参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
data_checksum = off
wal_block_size = 65536
block_size = 32768

PG9.19.2,9.3,9.4

wal_log_hints = off =》去掉
wal_level = replica =》wal_level = hot_standy
max_wal_size = 64GB =》wal_keep_segments = 4096
wal_block_size = 65535 =》wal_block_size = 8192
block_size = 32768 =》block_size = 8192

PG10+

shared_buffers = 32GB
work_mem = 8MB
wal_level = replica
fsync = on
synchronous_commit = off
full_page_writes = off
wal_log_hints = off
commit_delay = 50
commit_siblings = 16
checkpoint_timeout = 60min
checkpoint_completion_target = 0.9
max_wal_size = 64GB
min_wal_size = 16GB
maintenance_work_mem = 4GB
vacuum_cost_delay = 0
vacuum_cost_limit = 200
max_locks_per_transaction =256
random_page_cost = 1.5
effective_cache_size = 64GB
bgwriter_delay = 400ms
log_checkpoints = off
logging_collector = on
listen_addresses = '*'
max_connections = 2000

本次测试用于对比生产版本与新版本的性能比较,因此9.4之前的版本 wal_block_size, block_size 为默认值8K,保持与生产一致, 未作修改。

初始化

新建数据库pgbench, 并使用最新版本pgbench初始化测试数据。

1
2
psql -c "create database pgbench;"
time /opt/pg14/bin/pgbench -i -s 200 -p 版本32 -Upostgres pgbench

PG91 - real 0m59.850s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 9132 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 41.49 s, remaining 0.00 s)
vacuuming...
creating primary keys...
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "pgbench_branches_pkey" for table "pgbench_branches"
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "pgbench_tellers_pkey" for table "pgbench_tellers"
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "pgbench_accounts_pkey" for table "pgbench_accounts"
done in 59.84 s (drop tables 0.00 s, create tables 0.00 s, client-side generate 42.52 s, vacuum 5.77 s, primary keys 11.55 s).

real 0m59.850s
user 0m6.360s
sys 0m0.122s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 9132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 3.0 s, 113025.6 tps, lat 0.876 ms stddev 1.011
progress: 6.0 s, 127864.7 tps, lat 0.782 ms stddev 0.886
progress: 9.0 s, 130330.0 tps, lat 0.767 ms stddev 0.877
progress: 12.0 s, 131203.3 tps, lat 0.762 ms stddev 0.871
progress: 15.0 s, 132294.4 tps, lat 0.756 ms stddev 0.865
progress: 18.0 s, 130449.6 tps, lat 0.766 ms stddev 0.893
progress: 21.0 s, 131379.0 tps, lat 0.761 ms stddev 0.878
progress: 24.0 s, 132768.0 tps, lat 0.753 ms stddev 0.875
progress: 27.0 s, 132382.0 tps, lat 0.755 ms stddev 0.882
progress: 30.0 s, 132263.8 tps, lat 0.755 ms stddev 0.871
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 3881957
latency average = 0.773 ms
latency stddev = 0.909 ms
initial connection time = 31.813 ms
tps = 129233.518233 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 9132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 3.0 s, 112304.0 tps, lat 1.746 ms stddev 2.320
progress: 6.0 s, 123221.7 tps, lat 1.623 ms stddev 2.060
progress: 9.0 s, 124756.5 tps, lat 1.603 ms stddev 2.039
progress: 12.0 s, 125614.6 tps, lat 1.592 ms stddev 2.027
progress: 15.0 s, 125764.0 tps, lat 1.590 ms stddev 2.016
progress: 18.0 s, 125639.4 tps, lat 1.592 ms stddev 2.022
progress: 21.0 s, 126216.8 tps, lat 1.584 ms stddev 2.022
progress: 24.0 s, 126663.5 tps, lat 1.579 ms stddev 2.013
progress: 27.0 s, 125658.7 tps, lat 1.591 ms stddev 2.028
progress: 30.0 s, 122487.5 tps, lat 1.630 ms stddev 2.068
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 3715165
latency average = 1.614 ms
latency stddev = 2.109 ms
initial connection time = 52.523 ms
tps = 123595.457398 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 9132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 3.0 s, 85455.7 tps, lat 5.541 ms stddev 8.064
progress: 6.0 s, 99284.5 tps, lat 5.036 ms stddev 6.484
progress: 9.0 s, 98763.1 tps, lat 5.062 ms stddev 6.582
progress: 12.0 s, 101529.4 tps, lat 4.924 ms stddev 6.404
progress: 15.0 s, 104273.7 tps, lat 4.794 ms stddev 6.263
progress: 18.0 s, 104751.0 tps, lat 4.774 ms stddev 6.228
progress: 21.0 s, 105558.2 tps, lat 4.736 ms stddev 6.193
progress: 24.0 s, 105583.7 tps, lat 4.735 ms stddev 6.216
progress: 27.0 s, 105565.3 tps, lat 4.736 ms stddev 6.209
progress: 30.0 s, 106031.7 tps, lat 4.708 ms stddev 6.147
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 3050871
latency average = 4.919 ms
latency stddev = 6.990 ms
initial connection time = 120.303 ms
tps = 100719.217118 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 9132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 3.0 s, 71354.6 tps, lat 10.111 ms stddev 16.438
progress: 6.0 s, 87681.8 tps, lat 9.127 ms stddev 11.592
progress: 9.0 s, 89928.6 tps, lat 8.896 ms stddev 11.399
progress: 12.0 s, 91080.1 tps, lat 8.783 ms stddev 11.277
progress: 15.0 s, 92164.0 tps, lat 8.679 ms stddev 11.217
progress: 18.0 s, 92907.0 tps, lat 8.613 ms stddev 11.067
progress: 21.0 s, 93251.6 tps, lat 8.579 ms stddev 11.084
progress: 24.0 s, 94052.0 tps, lat 8.505 ms stddev 10.976
progress: 27.0 s, 94064.0 tps, lat 8.505 ms stddev 10.984
progress: 30.0 s, 93350.0 tps, lat 8.558 ms stddev 11.081
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 2700274
latency average = 8.885 ms
latency stddev = 13.029 ms
initial connection time = 213.189 ms
tps = 88780.508751 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 9132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 3.0 s, 68365.7 tps, lat 12.838 ms stddev 22.063
progress: 6.0 s, 84887.3 tps, lat 11.786 ms stddev 15.093
progress: 9.0 s, 86756.2 tps, lat 11.527 ms stddev 14.829
progress: 12.0 s, 88105.8 tps, lat 11.348 ms stddev 14.670
progress: 15.0 s, 88940.3 tps, lat 11.238 ms stddev 14.544
progress: 18.0 s, 89999.1 tps, lat 11.117 ms stddev 14.427
progress: 21.0 s, 90404.0 tps, lat 11.060 ms stddev 14.339
progress: 24.0 s, 91012.0 tps, lat 10.988 ms stddev 14.293
progress: 27.0 s, 91365.4 tps, lat 10.947 ms stddev 14.221
progress: 30.0 s, 91255.6 tps, lat 10.942 ms stddev 14.235
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 2614251
latency average = 11.468 ms
latency stddev = 17.183 ms
initial connection time = 260.349 ms
tps = 85622.743960 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 9132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 3.0 s, 55589.2 tps, lat 21.899 ms stddev 44.684
progress: 6.0 s, 78810.0 tps, lat 19.039 ms stddev 24.358
progress: 9.0 s, 80419.7 tps, lat 18.650 ms stddev 23.841
progress: 12.0 s, 81321.3 tps, lat 18.459 ms stddev 23.699
progress: 15.0 s, 82863.7 tps, lat 18.102 ms stddev 23.186
progress: 18.0 s, 83439.9 tps, lat 17.974 ms stddev 23.184
progress: 21.0 s, 84125.7 tps, lat 17.829 ms stddev 23.017
progress: 24.0 s, 84180.0 tps, lat 17.824 ms stddev 22.999
progress: 27.0 s, 84737.3 tps, lat 17.701 ms stddev 22.832
progress: 30.0 s, 84842.8 tps, lat 17.646 ms stddev 22.840
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 2402467
latency average = 18.692 ms
latency stddev = 29.230 ms
initial connection time = 382.942 ms
tps = 78128.520303 (without initial connection time)

simple-update

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[postgres@pgdb2 ~]$ /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 9132 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 9.1.24)
starting vacuum...end.
progress: 10.0 s, 41719.5 tps, lat 2.390 ms stddev 2.103
progress: 20.0 s, 45217.7 tps, lat 2.211 ms stddev 2.249
progress: 30.0 s, 38554.9 tps, lat 2.593 ms stddev 2.670
progress: 40.0 s, 35997.1 tps, lat 2.778 ms stddev 2.869
progress: 50.0 s, 34062.3 tps, lat 2.935 ms stddev 3.044
progress: 60.0 s, 33791.0 tps, lat 2.960 ms stddev 3.051
...
progress: 4290.0 s, 20848.2 tps, lat 4.796 ms stddev 6.850
progress: 4300.0 s, 23890.6 tps, lat 4.186 ms stddev 7.184
progress: 4310.0 s, 29104.1 tps, lat 3.438 ms stddev 7.123
progress: 4320.0 s, 29161.7 tps, lat 3.425 ms stddev 5.977
progress: 4330.0 s, 14119.1 tps, lat 7.060 ms stddev 9.881
progress: 4340.0 s, 17909.5 tps, lat 5.463 ms stddev 9.181
progress: 4350.0 s, 27116.4 tps, lat 3.292 ms stddev 6.663
progress: 4360.0 s, 46388.3 tps, lat 1.285 ms stddev 1.273
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 4.356 ms
latency stddev = 7.147 ms
initial connection time = 32.025 ms
tps = 22892.048160 (without initial connection time)

PG92 - real 0m48.641s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 9232 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 32.92 s, remaining 0.00 s)
vacuuming...
creating primary keys...
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "pgbench_branches_pkey" for table "pgbench_branches"
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "pgbench_tellers_pkey" for table "pgbench_tellers"
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "pgbench_accounts_pkey" for table "pgbench_accounts"
done in 48.64 s (drop tables 0.02 s, create tables 0.00 s, client-side generate 33.21 s, vacuum 4.08 s, primary keys 11.32 s).

real 0m48.642s
user 0m6.311s
sys 0m0.133s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 9232 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 3.0 s, 192148.8 tps, lat 0.516 ms stddev 1.116
progress: 6.0 s, 288204.7 tps, lat 0.347 ms stddev 0.281
progress: 9.0 s, 225977.6 tps, lat 0.442 ms stddev 0.332
progress: 12.0 s, 212469.3 tps, lat 0.471 ms stddev 0.339
progress: 15.0 s, 200701.8 tps, lat 0.498 ms stddev 0.359
progress: 18.0 s, 193654.6 tps, lat 0.516 ms stddev 0.359
progress: 21.0 s, 187922.7 tps, lat 0.532 ms stddev 0.342
progress: 24.0 s, 184495.7 tps, lat 0.542 ms stddev 0.386
progress: 27.0 s, 183280.8 tps, lat 0.545 ms stddev 0.355
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 6184271
latency average = 0.485 ms
latency stddev = 0.486 ms
initial connection time = 28.744 ms
tps = 205936.107926 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 9232 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 3.0 s, 341263.7 tps, lat 0.576 ms stddev 0.704
progress: 6.0 s, 328178.8 tps, lat 0.609 ms stddev 0.482
progress: 9.0 s, 286975.1 tps, lat 0.697 ms stddev 0.550
progress: 12.0 s, 282602.1 tps, lat 0.707 ms stddev 0.755
progress: 15.0 s, 260822.5 tps, lat 0.766 ms stddev 0.571
progress: 18.0 s, 252026.5 tps, lat 0.793 ms stddev 0.626
progress: 21.0 s, 241449.9 tps, lat 0.828 ms stddev 0.684
progress: 24.0 s, 227662.5 tps, lat 0.878 ms stddev 0.668
progress: 27.0 s, 220309.0 tps, lat 0.907 ms stddev 0.683
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 7968798
latency average = 0.751 ms
latency stddev = 0.658 ms
initial connection time = 53.748 ms
tps = 265148.616589 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 9232 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 3.0 s, 263908.8 tps, lat 1.814 ms stddev 2.198
progress: 6.0 s, 311985.9 tps, lat 1.602 ms stddev 0.361
progress: 9.0 s, 321549.2 tps, lat 1.554 ms stddev 0.549
progress: 12.0 s, 328288.9 tps, lat 1.522 ms stddev 0.395
progress: 15.0 s, 333078.3 tps, lat 1.501 ms stddev 0.381
progress: 18.0 s, 334740.3 tps, lat 1.493 ms stddev 0.489
progress: 21.0 s, 336849.4 tps, lat 1.484 ms stddev 0.429
progress: 24.0 s, 337117.1 tps, lat 1.483 ms stddev 0.463
progress: 27.0 s, 339163.6 tps, lat 1.474 ms stddev 0.423
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 9736069
latency average = 1.534 ms
latency stddev = 0.771 ms
initial connection time = 117.343 ms
tps = 325218.060070 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 9232 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 3.0 s, 212114.0 tps, lat 3.505 ms stddev 5.578
progress: 6.0 s, 258254.0 tps, lat 3.097 ms stddev 1.054
progress: 9.0 s, 269625.6 tps, lat 2.966 ms stddev 0.690
progress: 12.0 s, 277383.1 tps, lat 2.883 ms stddev 0.604
progress: 15.0 s, 282141.2 tps, lat 2.835 ms stddev 0.608
progress: 18.0 s, 285953.1 tps, lat 2.797 ms stddev 0.590
progress: 21.0 s, 287456.6 tps, lat 2.782 ms stddev 0.849
progress: 24.0 s, 290468.3 tps, lat 2.754 ms stddev 0.587
progress: 27.0 s, 292308.0 tps, lat 2.736 ms stddev 0.589
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8243021
latency average = 2.891 ms
latency stddev = 1.742 ms
initial connection time = 192.440 ms
tps = 274250.806132 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 9232 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 3.0 s, 194600.0 tps, lat 4.699 ms stddev 8.516
progress: 6.0 s, 244385.4 tps, lat 4.091 ms stddev 0.770
progress: 9.0 s, 254297.2 tps, lat 3.932 ms stddev 0.793
progress: 12.0 s, 258589.9 tps, lat 3.866 ms stddev 1.294
progress: 15.0 s, 262997.4 tps, lat 3.802 ms stddev 1.356
progress: 18.0 s, 268120.7 tps, lat 3.729 ms stddev 0.768
progress: 21.0 s, 271781.6 tps, lat 3.679 ms stddev 0.772
progress: 24.0 s, 272594.9 tps, lat 3.668 ms stddev 1.192
progress: 27.0 s, 275859.2 tps, lat 3.624 ms stddev 0.725
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7739938
latency average = 3.842 ms
latency stddev = 2.551 ms
initial connection time = 234.196 ms
tps = 257436.567155 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 9232 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 3.0 s, 152056.4 tps, lat 8.267 ms stddev 22.007
progress: 6.0 s, 221203.1 tps, lat 6.781 ms stddev 0.879
progress: 9.0 s, 230492.1 tps, lat 6.507 ms stddev 0.880
progress: 12.0 s, 232845.3 tps, lat 6.441 ms stddev 2.220
progress: 15.0 s, 239265.7 tps, lat 6.268 ms stddev 0.864
progress: 18.0 s, 242210.7 tps, lat 6.192 ms stddev 0.874
progress: 21.0 s, 245009.5 tps, lat 6.121 ms stddev 0.872
progress: 24.0 s, 247208.2 tps, lat 6.067 ms stddev 1.244
progress: 27.0 s, 249214.8 tps, lat 6.017 ms stddev 1.384
progress: 30.0 s, 249485.8 tps, lat 6.008 ms stddev 5.394
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 6927362
latency average = 6.392 ms
latency stddev = 6.195 ms
initial connection time = 350.649 ms
tps = 221548.978507 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 9232 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 9.2.24)
starting vacuum...end.
progress: 10.0 s, 47004.9 tps, lat 2.122 ms stddev 1.601
progress: 20.0 s, 58263.0 tps, lat 1.716 ms stddev 1.498
progress: 30.0 s, 59419.9 tps, lat 1.683 ms stddev 1.469
progress: 40.0 s, 59503.5 tps, lat 1.680 ms stddev 1.477
progress: 50.0 s, 59825.8 tps, lat 1.671 ms stddev 1.458
progress: 60.0 s, 58134.2 tps, lat 1.720 ms stddev 1.505
progress: 70.0 s, 56390.3 tps, lat 1.773 ms stddev 1.463
progress: 80.0 s, 53436.9 tps, lat 1.871 ms stddev 7.545
progress: 90.0 s, 59090.3 tps, lat 1.692 ms stddev 1.405
progress: 100.0 s, 57067.7 tps, lat 1.752 ms stddev 1.326
progress: 110.0 s, 42319.1 tps, lat 2.362 ms stddev 2.166
progress: 120.0 s, 32023.0 tps, lat 3.123 ms stddev 3.143
progress: 130.0 s, 51978.8 tps, lat 1.924 ms stddev 7.958
...
progress: 1580.0 s, 60515.5 tps, lat 1.652 ms stddev 1.480
progress: 1590.0 s, 52424.9 tps, lat 1.907 ms stddev 8.985
progress: 1600.0 s, 61131.2 tps, lat 1.636 ms stddev 1.451
progress: 1610.0 s, 60899.3 tps, lat 1.642 ms stddev 1.463
progress: 1620.0 s, 60238.3 tps, lat 1.660 ms stddev 1.519
progress: 1630.0 s, 59443.6 tps, lat 1.682 ms stddev 1.519
progress: 1640.0 s, 60357.7 tps, lat 1.657 ms stddev 1.493
progress: 1650.0 s, 52315.0 tps, lat 1.911 ms stddev 8.981
progress: 1660.0 s, 61539.5 tps, lat 1.625 ms stddev 1.457
progress: 1670.0 s, 49005.5 tps, lat 2.040 ms stddev 2.070
progress: 1680.0 s, 55438.7 tps, lat 1.804 ms stddev 1.730
progress: 1690.0 s, 58945.3 tps, lat 1.696 ms stddev 1.544
progress: 1700.0 s, 60188.1 tps, lat 1.661 ms stddev 1.495
progress: 1710.0 s, 52903.8 tps, lat 1.890 ms stddev 8.181
progress: 1720.0 s, 60637.0 tps, lat 1.649 ms stddev 1.469
progress: 1730.0 s, 60229.4 tps, lat 1.652 ms stddev 1.504
progress: 1740.0 s, 60056.7 tps, lat 1.640 ms stddev 1.470
progress: 1750.0 s, 59314.2 tps, lat 1.574 ms stddev 1.375
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.761 ms
latency stddev = 3.879 ms
initial connection time = 28.065 ms
tps = 56304.037342 (without initial connection time)

real 29m36.228s
user 35m2.590s
sys 83m40.060s

PG93 - real 0m49.263s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 9332 -Upostgres pgbench

dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 33.09 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 49.26 s (drop tables 0.00 s, create tables 0.00 s, client-side generate 33.29 s, vacuum 4.13 s, primary keys 11.83 s).

real 0m49.263s
user 0m6.323s
sys 0m0.143s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 9332 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 3.0 s, 254353.1 tps, lat 0.390 ms stddev 0.452
progress: 6.0 s, 207230.4 tps, lat 0.482 ms stddev 0.412
progress: 9.0 s, 184623.2 tps, lat 0.541 ms stddev 0.372
progress: 12.0 s, 175602.5 tps, lat 0.569 ms stddev 0.392
progress: 15.0 s, 173112.2 tps, lat 0.577 ms stddev 0.385
progress: 18.0 s, 169982.0 tps, lat 0.588 ms stddev 0.399
progress: 21.0 s, 167776.1 tps, lat 0.596 ms stddev 0.412
progress: 24.0 s, 169309.6 tps, lat 0.591 ms stddev 0.395
progress: 27.0 s, 165922.0 tps, lat 0.603 ms stddev 0.390
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 5498003
latency average = 0.545 ms
latency stddev = 0.413 ms
initial connection time = 28.723 ms
tps = 182615.808269 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 9332 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 3.0 s, 313699.2 tps, lat 0.627 ms stddev 0.704
progress: 6.0 s, 257100.6 tps, lat 0.778 ms stddev 0.601
progress: 9.0 s, 223074.9 tps, lat 0.896 ms stddev 0.768
progress: 12.0 s, 227558.7 tps, lat 0.879 ms stddev 0.779
progress: 15.0 s, 204229.7 tps, lat 0.979 ms stddev 0.823
progress: 18.0 s, 197675.1 tps, lat 1.012 ms stddev 0.825
progress: 21.0 s, 200877.9 tps, lat 0.995 ms stddev 0.830
progress: 24.0 s, 190578.9 tps, lat 1.049 ms stddev 0.953
progress: 27.0 s, 182207.5 tps, lat 1.097 ms stddev 0.967
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 6538282
latency average = 0.916 ms
latency stddev = 0.838 ms
initial connection time = 49.788 ms
tps = 217670.050805 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 9332 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 3.0 s, 267873.8 tps, lat 1.789 ms stddev 2.319
progress: 6.0 s, 315059.6 tps, lat 1.586 ms stddev 0.394
progress: 9.0 s, 321868.6 tps, lat 1.553 ms stddev 0.470
progress: 12.0 s, 328949.9 tps, lat 1.519 ms stddev 0.452
progress: 15.0 s, 329555.7 tps, lat 1.517 ms stddev 0.456
progress: 18.0 s, 331351.0 tps, lat 1.508 ms stddev 0.481
progress: 21.0 s, 332563.9 tps, lat 1.503 ms stddev 0.478
progress: 24.0 s, 330523.2 tps, lat 1.512 ms stddev 0.606
progress: 27.0 s, 330510.7 tps, lat 1.512 ms stddev 0.665
progress: 30.0 s, 330606.2 tps, lat 1.510 ms stddev 0.593
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 9656619
latency average = 1.546 ms
latency stddev = 0.847 ms
initial connection time = 113.589 ms
tps = 321562.189907 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 9332 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 3.0 s, 218662.3 tps, lat 3.394 ms stddev 4.990
progress: 6.0 s, 268515.0 tps, lat 2.979 ms stddev 0.677
progress: 9.0 s, 277577.6 tps, lat 2.881 ms stddev 0.629
progress: 12.0 s, 281467.1 tps, lat 2.842 ms stddev 0.914
progress: 15.0 s, 286429.9 tps, lat 2.792 ms stddev 0.668
progress: 18.0 s, 288946.0 tps, lat 2.768 ms stddev 0.772
progress: 21.0 s, 292323.1 tps, lat 2.736 ms stddev 0.681
progress: 24.0 s, 292762.8 tps, lat 2.732 ms stddev 0.796
progress: 27.0 s, 294357.6 tps, lat 2.717 ms stddev 0.702
progress: 30.0 s, 296112.3 tps, lat 2.699 ms stddev 0.770
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8391512
latency average = 2.839 ms
latency stddev = 1.608 ms
initial connection time = 197.202 ms
tps = 279728.171875 (without initial connection time)

1000客户端:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 9332 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 3.0 s, 197871.2 tps, lat 4.615 ms stddev 7.709
progress: 6.0 s, 250907.1 tps, lat 3.985 ms stddev 0.713
progress: 9.0 s, 259822.9 tps, lat 3.848 ms stddev 0.729
progress: 12.0 s, 262703.1 tps, lat 3.806 ms stddev 1.290
progress: 15.0 s, 268668.1 tps, lat 3.721 ms stddev 0.707
progress: 18.0 s, 271463.7 tps, lat 3.683 ms stddev 0.834
progress: 21.0 s, 272685.5 tps, lat 3.666 ms stddev 1.090
progress: 24.0 s, 273120.0 tps, lat 3.619 ms stddev 0.710
progress: 27.0 s, 277427.4 tps, lat 3.645 ms stddev 1.675
progress: 30.0 s, 278927.9 tps, lat 3.583 ms stddev 0.721
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7840903
latency average = 3.793 ms
latency stddev = 2.361 ms
initial connection time = 227.924 ms
tps = 262126.579921 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 9332 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 3.0 s, 170436.4 tps, lat 7.643 ms stddev 14.327
progress: 6.0 s, 228435.2 tps, lat 6.566 ms stddev 0.907
progress: 9.0 s, 218403.5 tps, lat 6.831 ms stddev 23.970
progress: 12.0 s, 235627.3 tps, lat 6.397 ms stddev 9.154
progress: 15.0 s, 242855.8 tps, lat 6.177 ms stddev 2.936
progress: 18.0 s, 243154.1 tps, lat 6.169 ms stddev 3.271
progress: 21.0 s, 249007.0 tps, lat 6.023 ms stddev 1.595
progress: 24.0 s, 251563.0 tps, lat 5.962 ms stddev 1.343
progress: 27.0 s, 251876.3 tps, lat 5.954 ms stddev 1.989
progress: 30.0 s, 255296.6 tps, lat 5.874 ms stddev 1.029
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 7040365
latency average = 6.308 ms
latency stddev = 8.963 ms
initial connection time = 345.675 ms
tps = 235021.659428 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 9332 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 9.3.25)
starting vacuum...end.
progress: 10.0 s, 44069.1 tps, lat 2.263 ms stddev 1.564
progress: 20.0 s, 56384.0 tps, lat 1.773 ms stddev 1.533
progress: 30.0 s, 56693.4 tps, lat 1.764 ms stddev 1.563
progress: 40.0 s, 57920.5 tps, lat 1.726 ms stddev 1.510
progress: 50.0 s, 58556.1 tps, lat 1.708 ms stddev 1.492
progress: 60.0 s, 58097.0 tps, lat 1.721 ms stddev 1.512
progress: 70.0 s, 58320.1 tps, lat 1.715 ms stddev 1.500
progress: 80.0 s, 57331.0 tps, lat 1.744 ms stddev 1.508
progress: 90.0 s, 57303.3 tps, lat 1.745 ms stddev 1.543
progress: 100.0 s, 57880.1 tps, lat 1.728 ms stddev 1.525
progress: 110.0 s, 58055.0 tps, lat 1.722 ms stddev 1.512
...
progress: 1600.0 s, 58331.8 tps, lat 1.714 ms stddev 1.509
progress: 1610.0 s, 58631.9 tps, lat 1.705 ms stddev 1.498
progress: 1620.0 s, 58704.7 tps, lat 1.703 ms stddev 1.491
progress: 1630.0 s, 58636.0 tps, lat 1.705 ms stddev 1.493
progress: 1640.0 s, 58618.4 tps, lat 1.706 ms stddev 1.507
progress: 1650.0 s, 57439.4 tps, lat 1.741 ms stddev 1.540
progress: 1660.0 s, 58188.2 tps, lat 1.718 ms stddev 1.514
progress: 1670.0 s, 58796.1 tps, lat 1.695 ms stddev 1.479
progress: 1680.0 s, 58643.0 tps, lat 1.679 ms stddev 1.455
progress: 1690.0 s, 58320.1 tps, lat 1.644 ms stddev 1.399
progress: 1700.0 s, 58215.1 tps, lat 1.496 ms stddev 1.212
progress: 1710.0 s, 56811.9 tps, lat 1.291 ms stddev 0.906
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.710 ms
latency stddev = 1.507 ms
initial connection time = 30.208 ms
tps = 57856.468245 (without initial connection time)

real 28m48.583s
user 35m21.135s
sys 85m25.108s

PG94 - real 0m51.842s

[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 9432 -Upostgres pgbench
dropping old tables…
NOTICE: table “pgbench_accounts” does not exist, skipping
NOTICE: table “pgbench_branches” does not exist, skipping
NOTICE: table “pgbench_history” does not exist, skipping
NOTICE: table “pgbench_tellers” does not exist, skipping
creating tables…
generating data (client-side)…
20000000 of 20000000 tuples (100%) done (elapsed 32.50 s, remaining 0.00 s)
vacuuming…
creating primary keys…
done in 48.05 s (drop tables 0.00 s, create tables 0.00 s, client-side generate 32.74 s, vacuum 4.29 s, primary keys 11.01 s).

real 0m48.052s
user 0m6.326s
sys 0m0.148s

1
2
3

## select-only
### 100客户端

[postgres@pgdb2 ~]$ /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 9432 -h pgdb1 -Upostgres -P 3 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum…end.
progress: 3.0 s, 392113.0 tps, lat 0.253 ms stddev 0.289
progress: 6.0 s, 466485.4 tps, lat 0.214 ms stddev 0.117
progress: 9.0 s, 477871.5 tps, lat 0.209 ms stddev 0.091
progress: 12.0 s, 482262.7 tps, lat 0.207 ms stddev 0.092
progress: 15.0 s, 482754.6 tps, lat 0.207 ms stddev 0.113
progress: 18.0 s, 483773.4 tps, lat 0.207 ms stddev 0.106
progress: 21.0 s, 487257.6 tps, lat 0.205 ms stddev 0.090
progress: 24.0 s, 486905.0 tps, lat 0.205 ms stddev 0.093
progress: 27.0 s, 485396.1 tps, lat 0.206 ms stddev 0.104
transaction type:
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 14172180
latency average = 0.211 ms
latency stddev = 0.134 ms
initial connection time = 26.210 ms
tps = 472402.220782 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 9432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum...end.
progress: 3.0 s, 381488.9 tps, lat 0.516 ms stddev 0.459
progress: 6.0 s, 434907.3 tps, lat 0.459 ms stddev 0.164
progress: 9.0 s, 445740.3 tps, lat 0.448 ms stddev 0.185
progress: 12.0 s, 451496.4 tps, lat 0.443 ms stddev 0.200
progress: 15.0 s, 459551.0 tps, lat 0.435 ms stddev 0.198
progress: 18.0 s, 458625.9 tps, lat 0.436 ms stddev 0.242
progress: 21.0 s, 461288.2 tps, lat 0.433 ms stddev 0.255
progress: 24.0 s, 470920.6 tps, lat 0.424 ms stddev 0.169
progress: 27.0 s, 471795.0 tps, lat 0.423 ms stddev 0.162
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 13528785
latency average = 0.442 ms
latency stddev = 0.234 ms
initial connection time = 45.124 ms
tps = 450859.183832 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 9432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum...end.
progress: 3.0 s, 270873.3 tps, lat 1.777 ms stddev 2.162
progress: 6.0 s, 316471.8 tps, lat 1.579 ms stddev 0.353
progress: 9.0 s, 326467.1 tps, lat 1.531 ms stddev 0.409
progress: 12.0 s, 334699.1 tps, lat 1.493 ms stddev 0.377
progress: 15.0 s, 338532.7 tps, lat 1.476 ms stddev 0.371
progress: 18.0 s, 343985.1 tps, lat 1.453 ms stddev 0.395
progress: 21.0 s, 348162.9 tps, lat 1.435 ms stddev 0.342
progress: 24.0 s, 350757.1 tps, lat 1.425 ms stddev 0.339
progress: 27.0 s, 352719.2 tps, lat 1.417 ms stddev 0.341
progress: 30.0 s, 354435.0 tps, lat 1.408 ms stddev 0.327
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 10011350
latency average = 1.492 ms
latency stddev = 0.727 ms
initial connection time = 105.410 ms
tps = 333486.818737 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 9432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum...end.
progress: 3.0 s, 221079.1 tps, lat 3.378 ms stddev 4.943
progress: 6.0 s, 265768.2 tps, lat 3.010 ms stddev 0.626
progress: 9.0 s, 275011.6 tps, lat 2.908 ms stddev 0.595
progress: 12.0 s, 280176.3 tps, lat 2.855 ms stddev 0.602
progress: 15.0 s, 284293.4 tps, lat 2.813 ms stddev 0.589
progress: 18.0 s, 288082.0 tps, lat 2.776 ms stddev 0.598
progress: 21.0 s, 290812.3 tps, lat 2.750 ms stddev 0.613
progress: 24.0 s, 292489.7 tps, lat 2.734 ms stddev 0.634
progress: 27.0 s, 293570.1 tps, lat 2.724 ms stddev 0.647
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8358391
latency average = 2.852 ms
latency stddev = 1.554 ms
initial connection time = 181.299 ms
tps = 277646.896174 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 9432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum...end.
progress: 3.0 s, 205263.1 tps, lat 4.493 ms stddev 6.914
progress: 6.0 s, 249028.1 tps, lat 4.015 ms stddev 0.753
progress: 9.0 s, 256870.1 tps, lat 3.892 ms stddev 1.412
progress: 12.0 s, 261918.0 tps, lat 3.818 ms stddev 2.005
progress: 15.0 s, 266262.5 tps, lat 3.755 ms stddev 0.981
progress: 18.0 s, 269995.2 tps, lat 3.703 ms stddev 0.776
progress: 21.0 s, 272889.7 tps, lat 3.664 ms stddev 0.728
progress: 24.0 s, 275423.0 tps, lat 3.629 ms stddev 0.734
progress: 27.0 s, 276895.8 tps, lat 3.612 ms stddev 2.480
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7841975
latency average = 3.796 ms
latency stddev = 2.354 ms
initial connection time = 206.885 ms
tps = 261368.159691 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 9432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum...end.
progress: 3.0 s, 178780.8 tps, lat 7.380 ms stddev 14.579
progress: 6.0 s, 224720.8 tps, lat 6.669 ms stddev 0.924
progress: 9.0 s, 229469.8 tps, lat 6.536 ms stddev 4.942
progress: 12.0 s, 236894.7 tps, lat 6.335 ms stddev 3.424
progress: 15.0 s, 241162.6 tps, lat 6.220 ms stddev 2.622
progress: 18.0 s, 244809.8 tps, lat 6.127 ms stddev 1.702
progress: 21.0 s, 247579.8 tps, lat 6.058 ms stddev 1.480
progress: 24.0 s, 250489.3 tps, lat 5.987 ms stddev 3.559
progress: 27.0 s, 251965.1 tps, lat 5.952 ms stddev 0.848
progress: 30.0 s, 253096.7 tps, lat 5.925 ms stddev 0.809
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 7077290
latency average = 6.283 ms
latency stddev = 4.807 ms
initial connection time = 315.083 ms
tps = 235906.835785 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 9432 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 9.4.26)
starting vacuum...end.
progress: 10.0 s, 54343.3 tps, lat 1.836 ms stddev 1.645
progress: 20.0 s, 57841.2 tps, lat 1.729 ms stddev 1.595
progress: 30.0 s, 58166.6 tps, lat 1.719 ms stddev 1.577
progress: 40.0 s, 58660.0 tps, lat 1.705 ms stddev 1.584
progress: 50.0 s, 58932.4 tps, lat 1.697 ms stddev 1.553
progress: 60.0 s, 58931.1 tps, lat 1.697 ms stddev 1.557
progress: 70.0 s, 58635.3 tps, lat 1.705 ms stddev 1.777
progress: 80.0 s, 59200.4 tps, lat 1.689 ms stddev 1.572
progress: 90.0 s, 58276.6 tps, lat 1.716 ms stddev 1.582
progress: 100.0 s, 58883.9 tps, lat 1.698 ms stddev 1.558
...
progress: 1640.0 s, 59436.1 tps, lat 1.682 ms stddev 1.561
progress: 1650.0 s, 58561.6 tps, lat 1.707 ms stddev 1.568
progress: 1660.0 s, 59102.6 tps, lat 1.692 ms stddev 1.547
progress: 1670.0 s, 54889.6 tps, lat 1.822 ms stddev 7.889
progress: 1680.0 s, 59970.9 tps, lat 1.667 ms stddev 1.526
progress: 1690.0 s, 59735.5 tps, lat 1.674 ms stddev 1.562
progress: 1700.0 s, 47802.1 tps, lat 2.091 ms stddev 2.282
progress: 1710.0 s, 48480.7 tps, lat 2.063 ms stddev 2.257
progress: 1720.0 s, 55681.2 tps, lat 1.796 ms stddev 4.953
progress: 1730.0 s, 59187.8 tps, lat 1.689 ms stddev 1.544
progress: 1740.0 s, 59024.4 tps, lat 1.694 ms stddev 1.577
progress: 1750.0 s, 59269.3 tps, lat 1.680 ms stddev 1.536
progress: 1760.0 s, 59020.6 tps, lat 1.600 ms stddev 1.427
progress: 1770.0 s, 55363.2 tps, lat 1.478 ms stddev 4.402
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.774 ms
latency stddev = 2.806 ms
initial connection time = 26.645 ms
tps = 55906.078405 (without initial connection time)

real 29m48.904s
user 34m34.600s
sys 84m14.092s

PG95 - real 0m49.176s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 9532 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 22.59 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 47.24 s (drop tables 0.00 s, create tables 0.00 s, client-side generate 22.92 s, vacuum 14.75 s, primary keys 9.56 s).

real 0m47.246s
user 0m6.309s
sys 0m0.139s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 9532 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 3.0 s, 402666.7 tps, lat 0.246 ms stddev 0.161
progress: 6.0 s, 457226.6 tps, lat 0.219 ms stddev 0.097
progress: 9.0 s, 471956.9 tps, lat 0.212 ms stddev 0.090
progress: 12.0 s, 480718.4 tps, lat 0.208 ms stddev 0.088
progress: 15.0 s, 485416.5 tps, lat 0.206 ms stddev 0.087
progress: 18.0 s, 483925.9 tps, lat 0.206 ms stddev 0.095
progress: 21.0 s, 484688.9 tps, lat 0.206 ms stddev 0.112
progress: 24.0 s, 487899.0 tps, lat 0.205 ms stddev 0.110
progress: 27.0 s, 482578.0 tps, lat 0.207 ms stddev 0.124
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 14152928
latency average = 0.212 ms
latency stddev = 0.111 ms
initial connection time = 30.185 ms
tps = 472027.311753 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 9532 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 3.0 s, 362536.9 tps, lat 0.542 ms stddev 0.445
progress: 6.0 s, 406930.0 tps, lat 0.491 ms stddev 0.138
progress: 9.0 s, 422267.9 tps, lat 0.473 ms stddev 0.128
progress: 12.0 s, 431696.4 tps, lat 0.463 ms stddev 0.135
progress: 15.0 s, 433359.1 tps, lat 0.461 ms stddev 0.183
progress: 18.0 s, 440413.6 tps, lat 0.454 ms stddev 0.157
progress: 21.0 s, 444368.4 tps, lat 0.450 ms stddev 0.148
progress: 24.0 s, 446237.9 tps, lat 0.448 ms stddev 0.158
progress: 27.0 s, 447760.8 tps, lat 0.446 ms stddev 0.164
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 12856668
latency average = 0.465 ms
latency stddev = 0.197 ms
initial connection time = 51.145 ms
tps = 429253.422981 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 9532 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 3.0 s, 264603.6 tps, lat 1.813 ms stddev 1.933
progress: 6.0 s, 305051.3 tps, lat 1.639 ms stddev 0.361
progress: 9.0 s, 315961.1 tps, lat 1.582 ms stddev 0.371
progress: 12.0 s, 322587.8 tps, lat 1.549 ms stddev 0.357
progress: 15.0 s, 328220.0 tps, lat 1.523 ms stddev 0.354
progress: 18.0 s, 331911.3 tps, lat 1.506 ms stddev 0.354
progress: 21.0 s, 335653.9 tps, lat 1.489 ms stddev 0.344
progress: 24.0 s, 338014.3 tps, lat 1.479 ms stddev 0.344
progress: 27.0 s, 340597.1 tps, lat 1.467 ms stddev 0.338
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 9673846
latency average = 1.544 ms
latency stddev = 0.655 ms
initial connection time = 113.866 ms
tps = 323483.915030 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 9532 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 3.0 s, 221481.8 tps, lat 3.376 ms stddev 5.530
progress: 6.0 s, 254889.7 tps, lat 3.138 ms stddev 0.679
progress: 9.0 s, 263297.5 tps, lat 3.038 ms stddev 0.705
progress: 12.0 s, 269496.4 tps, lat 2.968 ms stddev 0.683
progress: 15.0 s, 274382.0 tps, lat 2.915 ms stddev 0.658
progress: 18.0 s, 277648.1 tps, lat 2.881 ms stddev 0.682
progress: 21.0 s, 279637.9 tps, lat 2.860 ms stddev 0.681
progress: 24.0 s, 281721.7 tps, lat 2.839 ms stddev 0.645
progress: 27.0 s, 284413.4 tps, lat 2.812 ms stddev 0.640
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8078741
latency average = 2.951 ms
latency stddev = 1.719 ms
initial connection time = 179.004 ms
tps = 270830.496378 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 9532 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 3.0 s, 203926.6 tps, lat 4.492 ms stddev 7.065
progress: 6.0 s, 238908.1 tps, lat 4.185 ms stddev 0.738
progress: 9.0 s, 245743.5 tps, lat 4.067 ms stddev 1.413
progress: 12.0 s, 251672.9 tps, lat 3.974 ms stddev 1.871
progress: 15.0 s, 256836.5 tps, lat 3.893 ms stddev 0.807
progress: 18.0 s, 259951.0 tps, lat 3.846 ms stddev 0.735
progress: 21.0 s, 262578.3 tps, lat 3.808 ms stddev 0.725
progress: 24.0 s, 264673.5 tps, lat 3.778 ms stddev 0.721
progress: 27.0 s, 265374.8 tps, lat 3.767 ms stddev 0.734
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7546930
latency average = 3.941 ms
latency stddev = 2.244 ms
initial connection time = 227.066 ms
tps = 253298.167735 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 9532 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 3.0 s, 183767.8 tps, lat 7.137 ms stddev 25.004
progress: 6.0 s, 219733.0 tps, lat 6.826 ms stddev 0.810
progress: 9.0 s, 223383.3 tps, lat 6.714 ms stddev 4.055
progress: 12.0 s, 228285.8 tps, lat 6.570 ms stddev 3.318
progress: 15.0 s, 232171.5 tps, lat 6.458 ms stddev 2.682
progress: 18.0 s, 235156.4 tps, lat 6.380 ms stddev 2.452
progress: 21.0 s, 237489.6 tps, lat 6.315 ms stddev 1.833
progress: 24.0 s, 239854.9 tps, lat 6.253 ms stddev 0.946
progress: 27.0 s, 241667.3 tps, lat 6.206 ms stddev 0.887
progress: 30.0 s, 242747.4 tps, lat 6.178 ms stddev 0.890
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 6853246
latency average = 6.484 ms
latency stddev = 7.423 ms
initial connection time = 341.944 ms
tps = 230675.735480 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 9532 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 9.5.25)
starting vacuum...end.
progress: 10.0 s, 57943.0 tps, lat 1.721 ms stddev 1.456
progress: 20.0 s, 60352.3 tps, lat 1.657 ms stddev 1.424
progress: 30.0 s, 58739.5 tps, lat 1.702 ms stddev 1.488
progress: 40.0 s, 47057.7 tps, lat 2.125 ms stddev 14.551
progress: 50.0 s, 49378.4 tps, lat 2.025 ms stddev 11.347
progress: 60.0 s, 48406.3 tps, lat 2.066 ms stddev 11.136
progress: 70.0 s, 50582.6 tps, lat 1.977 ms stddev 9.238
progress: 80.0 s, 50254.4 tps, lat 1.876 ms stddev 8.428
progress: 90.0 s, 49533.6 tps, lat 2.134 ms stddev 15.579
progress: 100.0 s, 46090.6 tps, lat 2.169 ms stddev 13.688
progress: 110.0 s, 41250.6 tps, lat 2.424 ms stddev 24.056
progress: 120.0 s, 48178.9 tps, lat 2.033 ms stddev 14.175
progress: 130.0 s, 56464.1 tps, lat 1.807 ms stddev 10.161
progress: 140.0 s, 53958.4 tps, lat 1.853 ms stddev 14.286
progress: 150.0 s, 59253.9 tps, lat 1.687 ms stddev 5.771
progress: 160.0 s, 54676.6 tps, lat 1.829 ms stddev 12.242
progress: 170.0 s, 51950.7 tps, lat 1.925 ms stddev 11.423
progress: 180.0 s, 48995.7 tps, lat 2.041 ms stddev 17.015
...
progress: 1830.0 s, 62316.9 tps, lat 1.605 ms stddev 1.406
progress: 1840.0 s, 62240.1 tps, lat 1.606 ms stddev 1.416
progress: 1850.0 s, 62706.9 tps, lat 1.595 ms stddev 1.393
progress: 1860.0 s, 62863.3 tps, lat 1.591 ms stddev 1.421
progress: 1870.0 s, 62507.5 tps, lat 1.594 ms stddev 1.397
progress: 1880.0 s, 62873.0 tps, lat 1.574 ms stddev 1.378
progress: 1890.0 s, 62127.6 tps, lat 1.531 ms stddev 1.335
progress: 1900.0 s, 63309.6 tps, lat 1.376 ms stddev 1.086
progress: 1910.0 s, 63248.6 tps, lat 1.230 ms stddev 0.935
progress: 1920.0 s, 63647.9 tps, lat 0.925 ms stddev 0.508
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.916 ms
latency stddev = 15.236 ms
initial connection time = 28.854 ms
tps = 51545.741187 (without initial connection time)

real 32m20.111s
user 35m36.047s
sys 85m6.218s

PG96 - real 0m47.363s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 9632 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 22.28 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 47.36 s (drop tables 0.00 s, create tables 0.01 s, client-side generate 22.43 s, vacuum 15.97 s, primary keys 8.95 s).

real 0m47.363s
user 0m6.301s
sys 0m0.146s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 9632 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 3.0 s, 417630.9 tps, lat 0.237 ms stddev 0.135
progress: 6.0 s, 468339.7 tps, lat 0.213 ms stddev 0.069
progress: 9.0 s, 489486.3 tps, lat 0.204 ms stddev 0.066
progress: 12.0 s, 500762.8 tps, lat 0.200 ms stddev 0.060
progress: 15.0 s, 507218.8 tps, lat 0.197 ms stddev 0.058
progress: 18.0 s, 511226.6 tps, lat 0.195 ms stddev 0.060
progress: 21.0 s, 513939.7 tps, lat 0.194 ms stddev 0.063
progress: 24.0 s, 517708.5 tps, lat 0.193 ms stddev 0.060
progress: 27.0 s, 518688.6 tps, lat 0.193 ms stddev 0.060
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 14890731
latency average = 0.201 ms
latency stddev = 0.073 ms
initial connection time = 32.025 ms
tps = 496649.084018 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 9632 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 3.0 s, 370212.8 tps, lat 0.531 ms stddev 0.420
progress: 6.0 s, 417903.1 tps, lat 0.478 ms stddev 0.114
progress: 9.0 s, 436541.8 tps, lat 0.458 ms stddev 0.109
progress: 12.0 s, 446730.3 tps, lat 0.447 ms stddev 0.145
progress: 15.0 s, 454509.1 tps, lat 0.440 ms stddev 0.166
progress: 18.0 s, 464078.5 tps, lat 0.431 ms stddev 0.136
progress: 21.0 s, 469402.8 tps, lat 0.426 ms stddev 0.128
progress: 24.0 s, 469335.8 tps, lat 0.426 ms stddev 0.158
progress: 27.0 s, 476661.2 tps, lat 0.419 ms stddev 0.132
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 13444808
latency average = 0.445 ms
latency stddev = 0.182 ms
initial connection time = 53.935 ms
tps = 448928.383130 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 9632 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 3.0 s, 264998.7 tps, lat 1.799 ms stddev 2.103
progress: 6.0 s, 301350.5 tps, lat 1.659 ms stddev 0.355
progress: 9.0 s, 312982.4 tps, lat 1.597 ms stddev 0.345
progress: 12.0 s, 319533.7 tps, lat 1.564 ms stddev 0.312
progress: 15.0 s, 323903.5 tps, lat 1.543 ms stddev 0.336
progress: 18.0 s, 327953.6 tps, lat 1.524 ms stddev 0.326
progress: 21.0 s, 331418.2 tps, lat 1.508 ms stddev 0.313
progress: 24.0 s, 333468.4 tps, lat 1.499 ms stddev 0.339
progress: 27.0 s, 337104.4 tps, lat 1.483 ms stddev 0.314
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 9574234
latency average = 1.559 ms
latency stddev = 0.689 ms
initial connection time = 129.612 ms
tps = 320402.064980 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 9632 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 3.0 s, 224163.7 tps, lat 3.327 ms stddev 5.654
progress: 6.0 s, 255820.8 tps, lat 3.127 ms stddev 0.567
progress: 9.0 s, 264441.5 tps, lat 3.025 ms stddev 0.579
progress: 12.0 s, 268994.8 tps, lat 2.973 ms stddev 0.584
progress: 15.0 s, 272868.0 tps, lat 2.931 ms stddev 0.575
progress: 18.0 s, 276189.7 tps, lat 2.896 ms stddev 0.575
progress: 21.0 s, 277952.4 tps, lat 2.877 ms stddev 0.576
progress: 24.0 s, 280003.9 tps, lat 2.857 ms stddev 0.579
progress: 27.0 s, 282238.5 tps, lat 2.834 ms stddev 0.578
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8060907
latency average = 2.956 ms
latency stddev = 1.730 ms
initial connection time = 186.241 ms
tps = 270013.223465 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 9632 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 3.0 s, 212903.2 tps, lat 4.289 ms stddev 11.428
progress: 6.0 s, 241783.7 tps, lat 4.135 ms stddev 0.660
progress: 9.0 s, 245862.4 tps, lat 4.066 ms stddev 2.071
progress: 12.0 s, 251381.6 tps, lat 3.977 ms stddev 1.351
progress: 15.0 s, 256684.0 tps, lat 3.896 ms stddev 0.924
progress: 18.0 s, 259464.6 tps, lat 3.853 ms stddev 0.668
progress: 21.0 s, 261465.2 tps, lat 3.824 ms stddev 0.649
progress: 24.0 s, 262841.2 tps, lat 3.804 ms stddev 0.693
progress: 27.0 s, 264341.1 tps, lat 3.782 ms stddev 0.676
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7570464
latency average = 3.928 ms
latency stddev = 3.465 ms
initial connection time = 240.746 ms
tps = 254268.433441 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 9632 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 3.0 s, 191988.6 tps, lat 6.797 ms stddev 28.137
progress: 6.0 s, 222398.9 tps, lat 6.744 ms stddev 0.769
progress: 9.0 s, 225125.2 tps, lat 6.661 ms stddev 3.749
progress: 12.0 s, 229516.3 tps, lat 6.535 ms stddev 3.619
progress: 15.0 s, 233661.4 tps, lat 6.419 ms stddev 3.018
progress: 18.0 s, 236596.0 tps, lat 6.340 ms stddev 2.555
progress: 21.0 s, 239240.6 tps, lat 6.270 ms stddev 1.721
progress: 24.0 s, 240856.4 tps, lat 6.227 ms stddev 1.472
progress: 27.0 s, 242513.3 tps, lat 6.184 ms stddev 1.482
progress: 30.0 s, 243635.7 tps, lat 6.156 ms stddev 0.824
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 6917035
latency average = 6.421 ms
latency stddev = 8.434 ms
initial connection time = 357.844 ms
tps = 233188.907748 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 9632 -h pgdb1 -Upostgres  -P 10 pgbench
pgbench (14.1, server 9.6.24)
starting vacuum...end.
progress: 10.0 s, 79830.7 tps, lat 1.249 ms stddev 0.959
progress: 20.0 s, 85128.2 tps, lat 1.174 ms stddev 0.753
progress: 30.0 s, 84588.0 tps, lat 1.182 ms stddev 0.639
progress: 40.0 s, 84055.5 tps, lat 1.190 ms stddev 0.762
progress: 50.0 s, 84938.2 tps, lat 1.177 ms stddev 0.645
progress: 60.0 s, 85107.1 tps, lat 1.175 ms stddev 0.766
progress: 70.0 s, 84583.7 tps, lat 1.182 ms stddev 0.731
progress: 80.0 s, 86434.2 tps, lat 1.157 ms stddev 0.795
progress: 90.0 s, 92122.6 tps, lat 1.085 ms stddev 0.940
progress: 100.0 s, 84871.0 tps, lat 1.178 ms stddev 0.848
progress: 110.0 s, 84354.6 tps, lat 1.185 ms stddev 0.727
progress: 120.0 s, 84776.5 tps, lat 1.179 ms stddev 0.660
progress: 130.0 s, 84771.0 tps, lat 1.179 ms stddev 0.554
...
progress: 990.0 s, 95066.4 tps, lat 1.052 ms stddev 0.607
progress: 1000.0 s, 97916.2 tps, lat 1.021 ms stddev 0.784
progress: 1010.0 s, 90358.0 tps, lat 1.098 ms stddev 0.674
progress: 1020.0 s, 87800.4 tps, lat 1.111 ms stddev 0.716
progress: 1030.0 s, 87514.1 tps, lat 1.108 ms stddev 0.742
progress: 1040.0 s, 87655.0 tps, lat 1.091 ms stddev 0.928
progress: 1050.0 s, 85752.4 tps, lat 1.067 ms stddev 0.706
progress: 1060.0 s, 85498.1 tps, lat 1.048 ms stddev 0.691
progress: 1070.0 s, 85179.0 tps, lat 1.003 ms stddev 0.615
progress: 1080.0 s, 84734.7 tps, lat 0.969 ms stddev 0.591
progress: 1090.0 s, 83102.3 tps, lat 0.935 ms stddev 0.536
progress: 1100.0 s, 80586.2 tps, lat 0.852 ms stddev 0.523
progress: 1110.0 s, 79217.3 tps, lat 0.841 ms stddev 0.402
progress: 1120.0 s, 78872.7 tps, lat 0.807 ms stddev 1.131
progress: 1130.0 s, 76724.4 tps, lat 0.763 ms stddev 0.986
progress: 1140.0 s, 75752.9 tps, lat 0.727 ms stddev 0.352
progress: 1150.0 s, 72832.9 tps, lat 0.686 ms stddev 0.250
progress: 1160.0 s, 66622.2 tps, lat 0.620 ms stddev 0.305
progress: 1170.0 s, 47782.0 tps, lat 0.519 ms stddev 0.160
progress: 1180.0 s, 41702.6 tps, lat 0.479 ms stddev 0.140
progress: 1190.0 s, 34414.5 tps, lat 0.454 ms stddev 0.120
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.128 ms
latency stddev = 0.738 ms
initial connection time = 30.798 ms
tps = 83663.276826 (without initial connection time)

real 19m55.355s
user 40m1.148s
sys 90m59.427s

PG10 - real 0m32.627s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 1032 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 20.52 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 32.62 s (drop tables 0.00 s, create tables 0.00 s, client-side generate 20.66 s, vacuum 3.26 s, primary keys 8.69 s).

real 0m32.627s
user 0m6.294s
sys 0m0.171s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 1032 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 3.0 s, 405874.0 tps, lat 0.244 ms stddev 0.157
progress: 6.0 s, 462927.3 tps, lat 0.216 ms stddev 0.071
progress: 9.0 s, 480786.2 tps, lat 0.208 ms stddev 0.066
progress: 12.0 s, 491374.8 tps, lat 0.203 ms stddev 0.061
progress: 15.0 s, 497835.0 tps, lat 0.201 ms stddev 0.060
progress: 18.0 s, 502669.7 tps, lat 0.199 ms stddev 0.059
progress: 21.0 s, 505782.0 tps, lat 0.198 ms stddev 0.061
progress: 24.0 s, 508764.8 tps, lat 0.196 ms stddev 0.058
progress: 27.0 s, 511241.5 tps, lat 0.195 ms stddev 0.060
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 14625361
latency average = 0.205 ms
latency stddev = 0.080 ms
initial connection time = 31.862 ms
tps = 487521.344991 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 1032 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 3.0 s, 364287.3 tps, lat 0.539 ms stddev 0.442
progress: 6.0 s, 411390.5 tps, lat 0.486 ms stddev 0.109
progress: 9.0 s, 428425.8 tps, lat 0.466 ms stddev 0.112
progress: 12.0 s, 439849.5 tps, lat 0.454 ms stddev 0.105
progress: 15.0 s, 448807.9 tps, lat 0.445 ms stddev 0.103
progress: 18.0 s, 456491.5 tps, lat 0.438 ms stddev 0.096
progress: 21.0 s, 461495.8 tps, lat 0.433 ms stddev 0.096
progress: 24.0 s, 465447.0 tps, lat 0.429 ms stddev 0.095
progress: 27.0 s, 469513.7 tps, lat 0.425 ms stddev 0.091
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 13249079
latency average = 0.452 ms
latency stddev = 0.163 ms
initial connection time = 52.950 ms
tps = 442063.014274 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 1032 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 3.0 s, 256560.3 tps, lat 1.861 ms stddev 2.334
progress: 6.0 s, 292127.6 tps, lat 1.711 ms stddev 0.386
progress: 9.0 s, 301917.7 tps, lat 1.656 ms stddev 0.377
progress: 12.0 s, 309434.0 tps, lat 1.615 ms stddev 0.358
progress: 15.0 s, 313225.2 tps, lat 1.596 ms stddev 0.370
progress: 18.0 s, 316984.3 tps, lat 1.577 ms stddev 0.375
progress: 21.0 s, 321050.5 tps, lat 1.557 ms stddev 0.336
progress: 24.0 s, 322865.2 tps, lat 1.548 ms stddev 0.338
progress: 27.0 s, 325437.7 tps, lat 1.536 ms stddev 0.363
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 9264622
latency average = 1.611 ms
latency stddev = 0.761 ms
initial connection time = 127.818 ms
tps = 309555.928664 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 1032 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 3.0 s, 214719.0 tps, lat 3.447 ms stddev 5.485
progress: 6.0 s, 246844.6 tps, lat 3.240 ms stddev 0.559
progress: 9.0 s, 254805.6 tps, lat 3.139 ms stddev 0.559
progress: 12.0 s, 259924.6 tps, lat 3.077 ms stddev 0.562
progress: 15.0 s, 262949.6 tps, lat 3.042 ms stddev 0.575
progress: 18.0 s, 266335.2 tps, lat 3.003 ms stddev 0.577
progress: 21.0 s, 267346.7 tps, lat 2.992 ms stddev 0.626
progress: 24.0 s, 269011.1 tps, lat 2.973 ms stddev 0.613
progress: 27.0 s, 270844.8 tps, lat 2.953 ms stddev 0.605
progress: 30.0 s, 272292.5 tps, lat 2.936 ms stddev 0.608
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 7755292
latency average = 3.071 ms
latency stddev = 1.687 ms
initial connection time = 206.541 ms
tps = 258793.180878 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 1032 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 3.0 s, 203884.4 tps, lat 4.464 ms stddev 12.298
progress: 6.0 s, 232503.7 tps, lat 4.300 ms stddev 0.696
progress: 9.0 s, 238919.3 tps, lat 4.185 ms stddev 0.709
progress: 12.0 s, 243282.1 tps, lat 4.110 ms stddev 0.706
progress: 15.0 s, 247117.2 tps, lat 4.046 ms stddev 0.700
progress: 18.0 s, 249693.2 tps, lat 4.004 ms stddev 0.693
progress: 21.0 s, 251199.2 tps, lat 3.980 ms stddev 0.714
progress: 24.0 s, 252876.2 tps, lat 3.954 ms stddev 0.715
progress: 27.0 s, 255156.3 tps, lat 3.919 ms stddev 0.715
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7295247
latency average = 4.075 ms
latency stddev = 3.628 ms
initial connection time = 246.108 ms
tps = 245005.573478 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 1032 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 3.0 s, 183214.5 tps, lat 7.111 ms stddev 31.023
progress: 6.0 s, 214247.6 tps, lat 7.001 ms stddev 0.705
progress: 9.0 s, 219392.7 tps, lat 6.836 ms stddev 0.731
progress: 12.0 s, 220792.8 tps, lat 6.791 ms stddev 2.803
progress: 15.0 s, 223647.3 tps, lat 6.708 ms stddev 2.790
progress: 18.0 s, 226458.0 tps, lat 6.623 ms stddev 2.009
progress: 21.0 s, 228563.6 tps, lat 6.563 ms stddev 1.749
progress: 24.0 s, 230223.8 tps, lat 6.514 ms stddev 0.889
progress: 27.0 s, 231279.9 tps, lat 6.485 ms stddev 1.087
progress: 30.0 s, 233027.8 tps, lat 6.436 ms stddev 0.837
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 6633011
latency average = 6.696 ms
latency stddev = 9.105 ms
initial connection time = 358.248 ms
tps = 216328.484785 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 1032 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 10.15)
starting vacuum...end.
progress: 10.0 s, 79084.3 tps, lat 1.261 ms stddev 0.909
progress: 20.0 s, 85157.9 tps, lat 1.174 ms stddev 0.589
progress: 30.0 s, 85353.1 tps, lat 1.171 ms stddev 0.606
progress: 40.0 s, 85189.7 tps, lat 1.174 ms stddev 0.690
progress: 50.0 s, 85240.4 tps, lat 1.173 ms stddev 0.715
progress: 60.0 s, 86855.8 tps, lat 1.151 ms stddev 0.818
progress: 70.0 s, 87685.4 tps, lat 1.140 ms stddev 0.751
progress: 80.0 s, 85363.1 tps, lat 1.171 ms stddev 0.548
progress: 90.0 s, 85118.5 tps, lat 1.175 ms stddev 0.660
progress: 100.0 s, 84727.1 tps, lat 1.180 ms stddev 0.773
progress: 110.0 s, 84954.4 tps, lat 1.177 ms stddev 0.649
progress: 120.0 s, 83604.5 tps, lat 1.196 ms stddev 0.702
progress: 130.0 s, 83804.4 tps, lat 1.193 ms stddev 0.626
progress: 140.0 s, 84129.2 tps, lat 1.188 ms stddev 0.675
progress: 150.0 s, 84316.8 tps, lat 1.186 ms stddev 0.584
progress: 160.0 s, 84175.7 tps, lat 1.188 ms stddev 0.611
progress: 170.0 s, 83606.7 tps, lat 1.196 ms stddev 0.694
progress: 180.0 s, 82636.5 tps, lat 1.210 ms stddev 0.717
progress: 190.0 s, 82380.7 tps, lat 1.214 ms stddev 0.705
...
progress: 930.0 s, 80926.6 tps, lat 1.236 ms stddev 0.734
progress: 940.0 s, 80815.3 tps, lat 1.237 ms stddev 0.797
progress: 950.0 s, 80840.8 tps, lat 1.237 ms stddev 0.627
progress: 960.0 s, 84254.1 tps, lat 1.187 ms stddev 0.715
progress: 970.0 s, 94763.1 tps, lat 1.049 ms stddev 0.680
progress: 980.0 s, 87355.1 tps, lat 1.132 ms stddev 0.808
progress: 990.0 s, 80482.9 tps, lat 1.214 ms stddev 0.725
progress: 1000.0 s, 80473.8 tps, lat 1.194 ms stddev 0.613
progress: 1010.0 s, 79354.8 tps, lat 1.202 ms stddev 1.576
progress: 1020.0 s, 78874.2 tps, lat 1.192 ms stddev 0.710
progress: 1030.0 s, 79879.2 tps, lat 1.177 ms stddev 0.619
progress: 1040.0 s, 79438.0 tps, lat 1.167 ms stddev 0.911
progress: 1050.0 s, 79411.9 tps, lat 1.152 ms stddev 0.642
progress: 1060.0 s, 79237.5 tps, lat 1.147 ms stddev 0.710
progress: 1070.0 s, 79049.7 tps, lat 1.124 ms stddev 0.716
progress: 1080.0 s, 77444.1 tps, lat 1.102 ms stddev 0.623
progress: 1090.0 s, 78113.1 tps, lat 1.066 ms stddev 0.549
progress: 1100.0 s, 74582.1 tps, lat 1.047 ms stddev 1.140
progress: 1110.0 s, 76263.6 tps, lat 0.989 ms stddev 0.515
progress: 1120.0 s, 73365.8 tps, lat 0.932 ms stddev 1.827
progress: 1130.0 s, 73259.6 tps, lat 0.862 ms stddev 0.515
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.164 ms
latency stddev = 0.769 ms
initial connection time = 30.893 ms
tps = 79968.069773 (without initial connection time)

real 20m50.590s
user 38m58.793s
sys 90m30.580s

PG11 - real 0m32.118s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 1132 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 18.76 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 28.14 s (drop tables 0.00 s, create tables 0.01 s, client-side generate 18.88 s, vacuum 3.13 s, primary keys 6.11 s).

real 0m28.144s
user 0m6.313s
sys 0m0.135s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 1132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 3.0 s, 435407.0 tps, lat 0.228 ms stddev 0.151
progress: 6.0 s, 497467.3 tps, lat 0.201 ms stddev 0.075
progress: 9.0 s, 506835.7 tps, lat 0.197 ms stddev 0.112
progress: 12.0 s, 517985.9 tps, lat 0.193 ms stddev 0.098
progress: 15.0 s, 522941.2 tps, lat 0.191 ms stddev 0.104
progress: 18.0 s, 523341.9 tps, lat 0.191 ms stddev 0.109
progress: 21.0 s, 535553.3 tps, lat 0.187 ms stddev 0.065
progress: 24.0 s, 538820.9 tps, lat 0.185 ms stddev 0.061
progress: 27.0 s, 539442.3 tps, lat 0.185 ms stddev 0.080
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 15479407
latency average = 0.193 ms
latency stddev = 0.095 ms
initial connection time = 30.157 ms
tps = 516257.515245 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 1132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 3.0 s, 388608.4 tps, lat 0.505 ms stddev 0.430
progress: 6.0 s, 439497.6 tps, lat 0.455 ms stddev 0.139
progress: 9.0 s, 461386.2 tps, lat 0.433 ms stddev 0.100
progress: 12.0 s, 471133.0 tps, lat 0.424 ms stddev 0.119
progress: 15.0 s, 481392.3 tps, lat 0.415 ms stddev 0.099
progress: 18.0 s, 487748.7 tps, lat 0.410 ms stddev 0.095
progress: 21.0 s, 492547.0 tps, lat 0.406 ms stddev 0.095
progress: 24.0 s, 495091.2 tps, lat 0.403 ms stddev 0.101
progress: 27.0 s, 499119.5 tps, lat 0.400 ms stddev 0.092
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 14150356
latency average = 0.423 ms
latency stddev = 0.162 ms
initial connection time = 56.416 ms
tps = 472281.037996 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 1132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 3.0 s, 276734.3 tps, lat 1.726 ms stddev 2.123
progress: 6.0 s, 315898.1 tps, lat 1.582 ms stddev 0.322
progress: 9.0 s, 327829.8 tps, lat 1.525 ms stddev 0.309
progress: 12.0 s, 334708.6 tps, lat 1.493 ms stddev 0.305
progress: 15.0 s, 337234.4 tps, lat 1.482 ms stddev 0.365
progress: 18.0 s, 341085.8 tps, lat 1.465 ms stddev 0.376
progress: 21.0 s, 345897.0 tps, lat 1.445 ms stddev 0.351
progress: 24.0 s, 349741.8 tps, lat 1.429 ms stddev 0.330
progress: 27.0 s, 350355.7 tps, lat 1.426 ms stddev 0.363
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 9994189
latency average = 1.493 ms
latency stddev = 0.700 ms
initial connection time = 124.744 ms
tps = 333882.968115 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 1132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 3.0 s, 230953.2 tps, lat 3.217 ms stddev 5.453
progress: 6.0 s, 264985.8 tps, lat 3.018 ms stddev 0.567
progress: 9.0 s, 273325.3 tps, lat 2.926 ms stddev 0.564
progress: 12.0 s, 279723.0 tps, lat 2.859 ms stddev 0.566
progress: 15.0 s, 282950.4 tps, lat 2.827 ms stddev 0.586
progress: 18.0 s, 284699.1 tps, lat 2.809 ms stddev 0.617
progress: 21.0 s, 287389.0 tps, lat 2.783 ms stddev 0.609
progress: 24.0 s, 289789.0 tps, lat 2.760 ms stddev 0.581
progress: 27.0 s, 291848.9 tps, lat 2.740 ms stddev 0.570
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8336477
latency average = 2.858 ms
latency stddev = 1.675 ms
initial connection time = 196.930 ms
tps = 278169.155075 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 1132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 3.0 s, 215990.5 tps, lat 4.220 ms stddev 9.191
progress: 6.0 s, 249568.4 tps, lat 4.006 ms stddev 0.630
progress: 9.0 s, 256655.3 tps, lat 3.896 ms stddev 0.631
progress: 12.0 s, 261895.3 tps, lat 3.818 ms stddev 0.635
progress: 15.0 s, 265936.1 tps, lat 3.759 ms stddev 0.634
progress: 18.0 s, 268195.4 tps, lat 3.728 ms stddev 0.631
progress: 21.0 s, 271153.3 tps, lat 3.687 ms stddev 0.629
progress: 24.0 s, 273000.1 tps, lat 3.662 ms stddev 0.640
progress: 27.0 s, 274806.7 tps, lat 3.638 ms stddev 0.628
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 7840524
latency average = 3.792 ms
latency stddev = 2.717 ms
initial connection time = 241.507 ms
tps = 261994.117823 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 1132 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 3.0 s, 193098.1 tps, lat 6.691 ms stddev 26.739
progress: 6.0 s, 228336.1 tps, lat 6.569 ms stddev 0.727
progress: 9.0 s, 234318.7 tps, lat 6.401 ms stddev 0.740
progress: 12.0 s, 238411.3 tps, lat 6.291 ms stddev 0.765
progress: 15.0 s, 241378.1 tps, lat 6.213 ms stddev 0.786
progress: 18.0 s, 244225.8 tps, lat 6.141 ms stddev 0.819
progress: 21.0 s, 246844.8 tps, lat 6.076 ms stddev 0.776
progress: 24.0 s, 248800.6 tps, lat 6.028 ms stddev 0.777
progress: 27.0 s, 250389.2 tps, lat 5.990 ms stddev 0.781
progress: 30.0 s, 251899.3 tps, lat 5.954 ms stddev 0.809
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 7133500
latency average = 6.220 ms
latency stddev = 7.660 ms
initial connection time = 375.254 ms
tps = 240221.558126 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 1132 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 11.13)
starting vacuum...end.
progress: 10.0 s, 84367.5 tps, lat 1.181 ms stddev 0.822
progress: 20.0 s, 88324.5 tps, lat 1.132 ms stddev 0.648
progress: 30.0 s, 88520.1 tps, lat 1.130 ms stddev 0.728
progress: 40.0 s, 88691.1 tps, lat 1.127 ms stddev 0.683
progress: 50.0 s, 92670.6 tps, lat 1.079 ms stddev 0.970
progress: 60.0 s, 88039.3 tps, lat 1.136 ms stddev 0.666
progress: 70.0 s, 86358.6 tps, lat 1.158 ms stddev 0.683
progress: 80.0 s, 87506.7 tps, lat 1.143 ms stddev 0.789
progress: 90.0 s, 88119.9 tps, lat 1.135 ms stddev 0.784
progress: 100.0 s, 88250.8 tps, lat 1.133 ms stddev 0.686
progress: 110.0 s, 97476.0 tps, lat 1.026 ms stddev 0.750
progress: 120.0 s, 86795.0 tps, lat 1.152 ms stddev 0.659
progress: 130.0 s, 85177.4 tps, lat 1.174 ms stddev 0.784
progress: 140.0 s, 86355.9 tps, lat 1.158 ms stddev 0.681
progress: 150.0 s, 86465.1 tps, lat 1.156 ms stddev 0.729
...
progress: 880.0 s, 82250.9 tps, lat 1.216 ms stddev 0.686
progress: 890.0 s, 90989.4 tps, lat 1.099 ms stddev 0.655
progress: 900.0 s, 82701.9 tps, lat 1.209 ms stddev 0.594
progress: 910.0 s, 81120.3 tps, lat 1.233 ms stddev 0.741
progress: 920.0 s, 82796.2 tps, lat 1.208 ms stddev 0.692
progress: 930.0 s, 83316.0 tps, lat 1.200 ms stddev 0.603
progress: 940.0 s, 83500.6 tps, lat 1.197 ms stddev 0.605
progress: 950.0 s, 97120.4 tps, lat 1.029 ms stddev 0.632
progress: 960.0 s, 88201.7 tps, lat 1.133 ms stddev 0.718
progress: 970.0 s, 80499.4 tps, lat 1.216 ms stddev 0.789
progress: 980.0 s, 82603.7 tps, lat 1.174 ms stddev 0.582
progress: 990.0 s, 82529.7 tps, lat 1.171 ms stddev 0.694
progress: 1000.0 s, 82752.1 tps, lat 1.158 ms stddev 0.690
progress: 1010.0 s, 89123.0 tps, lat 1.032 ms stddev 0.503
progress: 1020.0 s, 80498.9 tps, lat 1.106 ms stddev 0.655
progress: 1030.0 s, 79819.6 tps, lat 1.079 ms stddev 0.604
progress: 1040.0 s, 80875.8 tps, lat 1.061 ms stddev 0.544
progress: 1050.0 s, 79952.2 tps, lat 1.033 ms stddev 0.557
progress: 1060.0 s, 79471.6 tps, lat 0.995 ms stddev 0.529
progress: 1070.0 s, 91812.1 tps, lat 0.841 ms stddev 0.538
progress: 1080.0 s, 79966.2 tps, lat 0.939 ms stddev 0.460
progress: 1090.0 s, 76348.7 tps, lat 0.937 ms stddev 0.586
progress: 1100.0 s, 77466.9 tps, lat 0.908 ms stddev 0.409
progress: 1110.0 s, 75464.8 tps, lat 0.856 ms stddev 0.499
progress: 1120.0 s, 73121.3 tps, lat 0.770 ms stddev 0.374
progress: 1130.0 s, 74098.7 tps, lat 0.673 ms stddev 0.258
progress: 1140.0 s, 68049.4 tps, lat 0.691 ms stddev 0.311
progress: 1150.0 s, 66342.3 tps, lat 0.660 ms stddev 0.341
progress: 1160.0 s, 62539.6 tps, lat 0.611 ms stddev 0.273
progress: 1170.0 s, 53768.6 tps, lat 0.567 ms stddev 0.175
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.116 ms
latency stddev = 0.690 ms
initial connection time = 33.999 ms
tps = 83154.181668 (without initial connection time)

real 20m2.678s
user 38m55.029s
sys 90m23.200s

PG14 - real 0m30.051s

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@pgdb1 /export]# time /opt/pg14/bin/pgbench -i -s 200 -p 1432 -Upostgres pgbench
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
20000000 of 20000000 tuples (100%) done (elapsed 20.40 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 30.05 s (drop tables 0.00 s, create tables 0.01 s, client-side generate 20.54 s, vacuum 3.11 s, primary keys 6.39 s).

real 0m30.051s
user 0m6.293s
sys 0m0.132s

select-only

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 100 -j 100 -M prepared -T30 -p 1432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 3.0 s, 389658.7 tps, lat 0.254 ms stddev 0.220
progress: 6.0 s, 503349.0 tps, lat 0.198 ms stddev 0.060
progress: 9.0 s, 524082.2 tps, lat 0.191 ms stddev 0.067
progress: 12.0 s, 535682.8 tps, lat 0.186 ms stddev 0.056
progress: 15.0 s, 543708.2 tps, lat 0.184 ms stddev 0.063
progress: 18.0 s, 550191.7 tps, lat 0.182 ms stddev 0.055
progress: 21.0 s, 554033.2 tps, lat 0.180 ms stddev 0.054
progress: 24.0 s, 555789.1 tps, lat 0.180 ms stddev 0.055
progress: 27.0 s, 557110.0 tps, lat 0.179 ms stddev 0.058
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
duration: 30 s
number of transactions actually processed: 15819533
latency average = 0.189 ms
latency stddev = 0.085 ms
initial connection time = 32.757 ms
tps = 527477.522026 (without initial connection time)

200客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 200 -j 100 -M prepared -T30 -p 1432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 3.0 s, 406353.6 tps, lat 0.482 ms stddev 0.437
progress: 6.0 s, 460297.7 tps, lat 0.434 ms stddev 0.095
progress: 9.0 s, 478492.9 tps, lat 0.417 ms stddev 0.105
progress: 12.0 s, 493741.6 tps, lat 0.405 ms stddev 0.094
progress: 15.0 s, 502919.8 tps, lat 0.397 ms stddev 0.088
progress: 18.0 s, 509837.6 tps, lat 0.392 ms stddev 0.089
progress: 21.0 s, 515455.2 tps, lat 0.387 ms stddev 0.093
progress: 24.0 s, 520005.2 tps, lat 0.384 ms stddev 0.089
progress: 27.0 s, 522980.6 tps, lat 0.382 ms stddev 0.093
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 200
number of threads: 100
duration: 30 s
number of transactions actually processed: 14807067
latency average = 0.404 ms
latency stddev = 0.159 ms
initial connection time = 59.414 ms
tps = 493422.123366 (without initial connection time)

500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

[postgres@pgdb2 ~]$ /opt/pg14/bin/pgbench -S -c 500 -j 100 -M prepared -T30 -p 1432 -h pgdb1 -Upostgres -P 3 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 3.0 s, 287625.3 tps, lat 1.653 ms stddev 2.324
progress: 6.0 s, 331046.7 tps, lat 1.510 ms stddev 0.309
progress: 9.0 s, 341040.7 tps, lat 1.465 ms stddev 0.329
progress: 12.0 s, 346922.3 tps, lat 1.441 ms stddev 0.373
progress: 15.0 s, 351781.7 tps, lat 1.421 ms stddev 0.358
progress: 18.0 s, 356762.0 tps, lat 1.401 ms stddev 0.336
progress: 21.0 s, 360561.7 tps, lat 1.386 ms stddev 0.336
progress: 24.0 s, 362427.3 tps, lat 1.379 ms stddev 0.366
progress: 27.0 s, 366199.7 tps, lat 1.365 ms stddev 0.333
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 500
number of threads: 100
duration: 30 s
number of transactions actually processed: 10418720
latency average = 1.432 ms
latency stddev = 0.751 ms
initial connection time = 142.078 ms
tps = 348150.272900 (without initial connection time)

800客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 800 -j 100 -M prepared -T30 -p 1432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 3.0 s, 241346.8 tps, lat 3.029 ms stddev 6.669
progress: 6.0 s, 281524.0 tps, lat 2.841 ms stddev 0.787
progress: 9.0 s, 291702.3 tps, lat 2.742 ms stddev 0.767
progress: 12.0 s, 297348.6 tps, lat 2.690 ms stddev 0.771
progress: 15.0 s, 301452.3 tps, lat 2.653 ms stddev 0.770
progress: 18.0 s, 304699.5 tps, lat 2.625 ms stddev 0.760
progress: 21.0 s, 306035.9 tps, lat 2.613 ms stddev 0.758
progress: 24.0 s, 308926.1 tps, lat 2.589 ms stddev 0.753
progress: 27.0 s, 310226.2 tps, lat 2.578 ms stddev 0.969
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 800
number of threads: 100
duration: 30 s
number of transactions actually processed: 8868285
latency average = 2.682 ms
latency stddev = 2.055 ms
initial connection time = 245.111 ms
tps = 297048.064168 (without initial connection time)

1000客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1000 -j 100 -M prepared -T30 -p 1432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 3.0 s, 223482.3 tps, lat 3.980 ms stddev 7.986
progress: 6.0 s, 265593.4 tps, lat 3.765 ms stddev 0.921
progress: 9.0 s, 275010.7 tps, lat 3.635 ms stddev 1.452
progress: 12.0 s, 279505.7 tps, lat 3.577 ms stddev 0.915
progress: 15.0 s, 284920.3 tps, lat 3.509 ms stddev 0.912
progress: 18.0 s, 288290.2 tps, lat 3.468 ms stddev 0.906
progress: 21.0 s, 291040.0 tps, lat 3.435 ms stddev 0.919
progress: 24.0 s, 291798.6 tps, lat 3.426 ms stddev 0.875
progress: 27.0 s, 293836.1 tps, lat 3.402 ms stddev 0.878
progress: 30.0 s, 295723.1 tps, lat 3.379 ms stddev 0.870
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1000
number of threads: 100
duration: 30 s
number of transactions actually processed: 8367687
latency average = 3.546 ms
latency stddev = 2.497 ms
initial connection time = 310.871 ms
tps = 280006.656430 (without initial connection time)

1500客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[postgres@pgdb2 ~]$  /opt/pg14/bin/pgbench -S -c 1500 -j 100 -M prepared -T30 -p 1432 -h pgdb1 -Upostgres  -P 3 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 3.0 s, 196218.9 tps, lat 6.163 ms stddev 19.309
progress: 6.0 s, 246368.5 tps, lat 6.088 ms stddev 1.050
progress: 9.0 s, 254223.7 tps, lat 5.900 ms stddev 1.076
progress: 12.0 s, 259848.0 tps, lat 5.772 ms stddev 1.073
progress: 15.0 s, 263573.4 tps, lat 5.690 ms stddev 1.124
progress: 18.0 s, 266559.8 tps, lat 5.626 ms stddev 1.075
progress: 21.0 s, 269794.9 tps, lat 5.559 ms stddev 1.086
progress: 24.0 s, 271798.1 tps, lat 5.518 ms stddev 1.087
progress: 27.0 s, 273525.0 tps, lat 5.483 ms stddev 1.035
progress: 30.0 s, 275093.4 tps, lat 5.451 ms stddev 0.989
transaction type: <builtin: select only>
scaling factor: 200
query mode: prepared
number of clients: 1500
number of threads: 100
duration: 30 s
number of transactions actually processed: 7731387
latency average = 5.707 ms
latency stddev = 5.431 ms
initial connection time = 549.872 ms
tps = 262384.017714 (without initial connection time)

simple-update

100客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[postgres@pgdb2 ~]$ time /opt/pg14/bin/pgbench -N -c 100 -j 100 -M prepared -t 1000000 -p 1432 -h pgdb1 -Upostgres -P 10 pgbench
pgbench (14.1, server 14.2)
starting vacuum...end.
progress: 10.0 s, 88584.5 tps, lat 1.125 ms stddev 0.854
progress: 20.0 s, 93447.0 tps, lat 1.070 ms stddev 0.581
progress: 30.0 s, 94052.7 tps, lat 1.063 ms stddev 0.649
progress: 40.0 s, 94102.1 tps, lat 1.062 ms stddev 0.725
progress: 50.0 s, 93599.2 tps, lat 1.068 ms stddev 0.636
progress: 60.0 s, 94781.3 tps, lat 1.055 ms stddev 0.668
progress: 70.0 s, 95426.9 tps, lat 1.048 ms stddev 0.577
progress: 80.0 s, 95431.5 tps, lat 1.048 ms stddev 0.605
progress: 90.0 s, 95279.9 tps, lat 1.049 ms stddev 0.657
progress: 100.0 s, 95488.2 tps, lat 1.047 ms stddev 0.635
progress: 110.0 s, 93513.4 tps, lat 1.069 ms stddev 0.747
progress: 120.0 s, 95115.1 tps, lat 1.051 ms stddev 0.690
progress: 130.0 s, 95543.7 tps, lat 1.046 ms stddev 0.667
progress: 140.0 s, 95511.2 tps, lat 1.047 ms stddev 0.687
progress: 150.0 s, 95812.2 tps, lat 1.043 ms stddev 0.601
progress: 160.0 s, 95515.3 tps, lat 1.047 ms stddev 0.617
...
progress: 730.0 s, 94480.3 tps, lat 1.058 ms stddev 0.649
progress: 740.0 s, 96001.3 tps, lat 1.041 ms stddev 0.626
progress: 750.0 s, 96252.4 tps, lat 1.039 ms stddev 0.642
progress: 760.0 s, 95944.2 tps, lat 1.042 ms stddev 0.665
progress: 770.0 s, 95070.1 tps, lat 1.052 ms stddev 0.647
progress: 780.0 s, 95956.6 tps, lat 1.042 ms stddev 0.632
progress: 790.0 s, 96473.9 tps, lat 1.036 ms stddev 0.732
progress: 800.0 s, 96729.9 tps, lat 1.034 ms stddev 0.611
progress: 810.0 s, 96716.2 tps, lat 1.034 ms stddev 0.626
progress: 820.0 s, 96292.7 tps, lat 1.038 ms stddev 0.680
progress: 830.0 s, 95092.5 tps, lat 1.051 ms stddev 0.724
progress: 840.0 s, 96255.5 tps, lat 1.039 ms stddev 0.677
progress: 850.0 s, 96490.8 tps, lat 1.036 ms stddev 0.702
progress: 860.0 s, 96553.1 tps, lat 1.023 ms stddev 0.571
progress: 870.0 s, 96220.4 tps, lat 1.008 ms stddev 0.632
progress: 880.0 s, 96204.8 tps, lat 1.008 ms stddev 0.949
progress: 890.0 s, 94397.4 tps, lat 1.027 ms stddev 0.687
progress: 900.0 s, 95132.7 tps, lat 0.999 ms stddev 0.744
progress: 910.0 s, 94624.5 tps, lat 0.945 ms stddev 0.518
progress: 920.0 s, 93452.7 tps, lat 0.921 ms stddev 0.998
progress: 930.0 s, 92157.7 tps, lat 0.877 ms stddev 0.530
progress: 940.0 s, 91715.8 tps, lat 0.843 ms stddev 0.481
progress: 950.0 s, 90105.1 tps, lat 0.854 ms stddev 0.576
progress: 960.0 s, 89966.8 tps, lat 0.822 ms stddev 0.493
progress: 970.0 s, 87529.7 tps, lat 0.764 ms stddev 0.397
progress: 980.0 s, 86448.2 tps, lat 0.750 ms stddev 0.405
progress: 990.0 s, 83150.1 tps, lat 0.741 ms stddev 0.462
progress: 1000.0 s, 81023.9 tps, lat 0.704 ms stddev 0.440
progress: 1010.0 s, 79462.1 tps, lat 0.686 ms stddev 0.396
progress: 1020.0 s, 77987.6 tps, lat 0.638 ms stddev 0.312
progress: 1030.0 s, 76227.5 tps, lat 0.623 ms stddev 0.401
progress: 1040.0 s, 70382.8 tps, lat 0.581 ms stddev 0.235
transaction type: <builtin: simple update>
scaling factor: 200
query mode: prepared
number of clients: 100
number of threads: 100
number of transactions per client: 1000000
number of transactions actually processed: 100000000/100000000
latency average = 1.002 ms
latency stddev = 0.685 ms
initial connection time = 31.992 ms
tps = 92014.363427 (without initial connection time)

real 18m6.876s
user 39m43.746s
sys 91m32.880s

总结

select-only

版本   10020050080010001500
PG9.1129233.518233123595.457398100719.21711888780.50875185622.74396078128.520303
PG9.2205936.107926265148.616589325218.060070274250.806132257436.567155221548.978507
PG9.3182615.808269217670.050805321562.189907279728.171875262126.579921235021.659428
PG9.4472402.220782450859.183832333486.818737277646.896174261368.159691235906.835785
PG9.5472027.311753429253.422981323483.915030270830.496378253298.167735230675.735480
PG9.6496649.084018448928.383130320402.064980270013.223465254268.433441233188.907748
PG10487521.344991442063.014274309555.928664258793.180878245005.573478216328.484785
PG11516257.515245472281.037996333882.968115278169.155075261994.117823240221.558126
PG14527477.522026493422.123366348150.272900297048.064168280006.656430262384.017714
PG14 VS PG11 TPS提升百分比9.78%9.57%9.59%9.36%9.35%9.15%

折线图

simple-update

版本   初始库大小运行100W事务所需时间运行100W事务平均TPS运行100W事务后库大小平均延时
PG9.12997MB1h12m40s22892.0481608479 MB4.356 ms
PG9.22997 MB29m36.228s56304.0373429094 MB1.761 ms
PG9.32997 MB28m48.583s57856.4682458168 MB1.710 ms
PG9.42997 MB29m48.904s55906.0784059256 MB1.774 ms
PG9.52961 MB32m20.111s51545.7411878813 MB1.916 ms
PG9.62961 MB19m55.355s83663.2768268402 MB1.128 ms
PG102961 MB20m37.502s80813.9784338177 MB1.157 ms
PG112962MB20m2.678s83154.1816688172 MB1.116 ms
PG142963MB18m6.876s92014.3634278111 MB1.002 ms
-------------本文结束感谢您的阅读-------------
听说,打赏我的人都找到了真爱

欢迎关注我的其它发布渠道