Postgres pgbench测试

初始化测试库

新建数据库test,使用pgbench初始化
-i 表示要求调用初始化模式,如果已经初始化过则会删除老表,重新创建及生成数据
-s 将生成的行数乘以比例因子。例如,-s 100将在pgbench_accounts表中创建 10,000,000 行。默认为 1。当比例为 20,000 或更高时,用来保存账号标识符的列(aid列)将切换到使用更大的整数(bigint),这样才能足以保存账号标识符。
命令如下:

pgbench -i -s 2000 test

初始化数据库
表及数据

测试

-c 模拟的客户端数量,也就是并发数据库会话数量。默认为 1。
-j gbench中的工作者线程数量。在多 CPU 机器上使用多于一个线程会有用。客户端会尽可能均匀地分布到可用的线程上。默认为 1。
-t 每个客户端运行的事务数量。默认为 10。
-r 在基准结束后,报告平均的每个命令的每语句等待时间(从客户端的角度来说是执行时间)。
-S 执行内建的只有选择的脚本。是-b select-only简写形式。

标准测试

pgbench -c 80 -j 4 -t 2000 -r  test

测试结果

纯查询测试

pgbench -c 80 -j 4 -t 2000 -r  -S test

测试结果

总结

此次使用pgbench做简单测试,数据库各项参数都未调整过,之后会根据此次测试作为基准,调整参数测试。具体配置可参考postgres在docker环境下配置

参考

Pg官方文档-pgbench


版权声明:本文为wozhixiangxiagedongx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。