pgbench进行postgres压力测试

网友投稿 1675 2022-05-28

pgbench是基于tpc-b模型的postgresql测试工具。它属于开源软件,主要为对 PostgreSQL 进行压力测试的一款简单程序, SQL命令可以在一个连接中顺序地执行,通常会开多个数据库 Session, 并且在测试最后形成测试报告,得出每秒平均事务数,pgbench可以测试 select,update,insert,delete 命令,用户可以编写自己的脚本进行测试。

利用pgbench对postgresql进行性能测试

1、  安装准备

华为云购买一台鲲鹏服务器

本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。

表1-1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求如表1-2所示。

表1-2 操作系统要求

项目

说明

-

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

2、  部署postgresql

鲲鹏社区软件栈已经有部署文档,请参考

pgbench进行postgres的压力测试

https://www.huaweicloud.com/kunpeng/software/postgresql.html

3、  测试之前当然还要建立一个测试数据库,这里就使用pgbench这个数据库名

4、  初始化测试数据

初始化数据库中的测试数据,使用pgbench -i进入初始化模式。

pgbench -i --unlogged-tables -s 2 -U postgres -p 5432 -d pgbench

以上参数中:

-i表示初始化模式,

--unlogged-tables表示创建没有log的表,

-s 2表示默认的数据的几倍,默认是100000条数据,其他是postgres连接的参数。每次测试默认会清除之前的表,创建完之后可以发现,pgbench_accounts表中有了200000条数据

执行结果如下:

5、  pgbench对postgresql进行压力测试

在不使用-i参数的时候,pgbench都是表示在进行压力测试,如下命令表示一个压力测试的案例。

pgbench -M prepared   -r -c 8 -j 2 -T 10 -U postgres -p 5432 -d pgbench -l

以上参数中,

-M prepared表示绑定变量形式的调用SQL,

-r表示报告测试文件中每条SQL的平均执行延迟,

-c 8表示模拟8个客户端,-j 2表示pgbench的工作线程是2个,

-T 10表示压力测试的时间是10秒,

-l表示把事务统计写入log,其余的是postgres连接相关的参数。

执行上述命令后,屏幕上开始显示执行过程,最后给出测试总结,可以看出在这个testcase下,tps是0。

鲲鹏 PostgreSQL

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL卸载真是个难题!看完这个文章就知道啦
下一篇:每 N 秒重复一次 Linux 命令或 Shell 脚本
相关文章