使用pgbench对PostgreSQL进行压力测试

使用pgbench对PostgreSQL进行压力测试

1、安装pgbench

 

2、初始化pgbench使用的库

首先将shell切换到postgres用户下,使用psql新建一个测试用的数据库pgbench。

然后执行如下命令初始化pgbench库

默认会在pgbench库中初始化四张表:

初始数据只有10万行,我们可以使用-s参数增加初始化时候的数据量

3、使用默认的测试脚本

完成了测试库的初始化后,就可以使用不加-i参数的pgbench命令进行测试了。

结果输出如下:

starting vacuum 表示清理缓存

transaction type 表示测试用的事务脚本类型(TPC-B measures throughput in terms of how many transactions per second a system can perform,TPC-B类型表示测试每秒处理事务个数)

scaling factor 表示比例因子,使用pgbench内建测试脚本的时候不需要理会该参数

query mode 表示查询协议,我也不知道什么意思=。=

number of clients 表示客户端数量

number of threads 表示工作线程数量

number of transactions per client 表示每个客户端执行的测试事务数量

number of transations actually processed 表示实际执行完成的事务数量(= 客户端数 * 每客户端执行事务数)

tps 表示每秒能处理多少个事务(transactions per second)

3.1 参数

3.2 默认的事务脚本

pgbench默认使用内建的事务脚本进行测试,每个事务包括如下七个命令:

如果你声明了-N,那么不包含步骤4和5。如果你声明了-S, 那么只发出SELECT

 

参考:http://www.postgres.cn/docs/10/pgbench.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注