agtm版本,1gtm+1C+1D集群架构:
noagtm版本,1C1D架构:
一、noagtm版本和agtm版本,获取事务号性能对比:
测试工具:pgbench基准测试工具
测试sql:
[zgy@intel175 pgbench]$ vim txid.sql
select txid_current();
测试脚本:
#!/bin/bash
dbname=$1
username=$2
port=$3
test_file=$4
bench_num=$5
excute_time=$6
nohup pgbench -d $dbname -U $username -p $port -n -r -f ./$test_file -c $bench_num -j $bench_num -T $excute_time >>pgbench.log &
测试对比结果如下:
并发数 | 压测时间 | TPS(Agtm) | TPS(noagtm) |
1 | 60 | 56.475812 | 5785.599778 |
50 | 60 | 75.115141 | 5302.926686 |
100 | 60 | 75.105836 | 5819.723611 |
200 | 60 | 74.212260 | 5775.008057 |
noagtm版本获取txid场景,性能与单pg9.6测试结果基本差不多,约是agtm版本的70倍。
二、单条insert插入性能对比
[noagtm@intel175 ~]$ psql -d postgres -p 6609
psql (3.2devel 198e24ed25 based on PG 9.6.9)
Type "help" for help.
postgres=# create table test(id serial8, c1 int8 default 0, c2 int8 default 0, c3 int8 default 0, c4 int8 default 0, c5 int8 default 0, c6 int8 default 0, c7 int8 default 0, c8 int8 default 0, c9 int8 default 0, c10 int8 default 0, c11 int8 default 0, c12 int8 default 0, c13 int8 default 0, c14 int8 default 0, c15 int8 default 0, c16 int8 default 0, c17 int8 default 0, c18 int8 default 0, c19 int8 default 0, c20 int8 default 0, crt_time timestamptz);
CREATE TABLE
postgres=# \d
List of relations
Schema | Name | Type | Owner
--------+-------------+----------+--------
public | test | table | noagtm
public | test_id_seq | sequence | noagtm
(2 rows)
[noagtm@intel175 pgbench]$ vim insert.sql
insert into test(crt_time) values(now());
测试对比结果如下:
并发数 | TPS(pg9.6) | TPS(noagtm) | TPS(agtm) |
16 | 1333.567698 | 402.163277 | 19.523163 |
32 | 2552.525998 | 891.645377 | 17.721041 |
64 | 4919.909822 | 1646.329836 | 24.145438 |
128 | 6373.980879 | 2404.194095 | 24.44103 |
256 | 6069.215036 | 3145.511054 | 25.18518 |
512 | 5926.957966 | 3527.573844 | 25.349456 |