Pgbench

来自 PostgreSQL 维基
跳转到导航跳转到搜索

pgbench

pgbench 是一个流行的基准测试工具,许多开发人员和黑客使用它对 PostgreSQL 在系统设置上的快速性能进行测试。

本页面包含社区关于在相对较大规模上使用 pgbench 进行测试的最佳方式的建议,以便社区其他成员在阅读 pgbench 结果时有一个一致的参考框架。

pgbench 选项

  • -s = 至少应大于并发客户端 (-c) 选项的数量,并且通常应更大,以便更有意义
  • -c = 通常,pgbench 客户端在 150-250 个并发用户之间变得 CPU 受限。此外,使用少于 2 个用户通常不会显示锁的争用情况
  • -t = 应适当地高。例如,如果基准测试的持续时间很短,则 8.3 版本中限制膨胀的“HOT”优势将不会明显可见

关于参数的其他有用信息

需要从默认值中调高的 postgresql.conf 参数

  • wal_buffers
  • shared_buffers
  • max_connections

设置调整

对于相对较大的设置,建议从与被测试系统不同的系统运行 pgbench 客户端(程序 pgbench 本身)。这意味着需要优化两个系统之间的网络。监控 pgbench 客户端本身,以确保它不会变成 CPU 饱和的进程(可以通过 top 或 prstat -am 查看)

磁盘调整

  • 将日志 (pg_xlog) 分离到不同的文件系统

安装说明

在 Ubuntu 9.1 的软件包安装中,pgbench 不会为用户包装,可以使用以下命令使其可访问

sudo ln -s ../share/postgresql-common/pg_wrapper /usr/bin/pgbench