本章节:基于linux系统、PostgreSQL-10单机环境下演示基准测试
一. 测试环境准备
1. 切换到安装PostgreSQL自带的用户:postgres
su - postgres
2. 进入sql控制台
psql
接着输入数据库账户postgres的密码—[如果你没改过密码,那postgres的默认密码为postgres]
3. 创建名为“testbench”的测试库
create database testbench;
二. 用pgbench执行基准测试
1. 进入postgresql的bin目录
cd /usr/pgsql-10/bin
2. 按这2个参数初始化表数据:
./pgbench -i -F100 -s10 -U postgres -p 5432 -h 127.0.0.1 testbench
此时可能要输一次密码,输入数据库账户postgres的密码即可
3. 按这3个参数执行基准测试:1个线程、1个用户、运行60秒
./pgbench -r -j1 -c1 -T60 -U postgres -h 127.0.0.1 testbench
此时可能要输一次密码,输入数据库账户postgres的密码即可
三. 基准测试结果分析
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 10
query mode: simple
number of clients: 1
number of threads: 1
duration: 60 s
number of transactions actually processed: 29383
latency average = 2.042 ms
tps = 489.714266 (including connections establishing)
tps = 489.762161 (excluding connections establishing)
script statistics:
- statement latencies in milliseconds:
0.003 \set aid random(1, 100000 * :scale)
0.001 \set bid random(1, 1 * :scale)
0.001 \set tid random(1, 10 * :scale)
0.000 \set delta random(-5000, 5000)
0.044 BEGIN;
0.196 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
0.146 SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
0.159 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
0.144 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
0.115 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
1.234 END;