Kaarel Moppel:pgbench的“TPC-C”类“扩展包”

Kaarel Moppel:pgbench的“TPC-C”类“扩展包”

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

TPC-C是用于OLTP数据库系统性能测量的标准,模拟零售公司运营。尽管Postgres有pgbench工具,但在Postgres上运行TPC-C不够顺畅。文章介绍了TPC-C的交易类型和性能指标,强调快速验证数据库性能的重要性,并推荐使用pgbench-tpcc-like工具简化测试过程。

🎯

关键要点

  • TPC-C是用于OLTP数据库系统性能测量的标准,模拟零售公司运营。
  • Postgres上运行TPC-C不够顺畅,pgbench工具的tpcb-like实现被认为过时。
  • TPC-C模拟一个可配置数量的仓库,每个仓库有10个区和3000个客户,处理新订单和支付等事务。
  • TPC-C的事务类型包括新订单(约45%)、支付(约43%)、订单状态(约4%)、交付(约4%)和库存水平(约4%)。
  • 最终性能指标是每分钟处理的订单数量(tpmC),并使用多个并行事务模拟业务活动。
  • 在实际应用中,用户更关心快速验证硬件或调整PostgreSQL配置,而不是学术上的细节。
  • sysbench-tpcc等工具简化了性能测试过程,pgbench-tpcc-like工具被推荐用于更接近真实生活的数据集。
  • 用户希望快速使数据库高负载,避免安装额外工具,能够随时调整数据集大小和生成并行性。
  • 数据初始化阶段应快速,数据生成应在数据库服务器上进行,以避免大量数据传输。
  • 用户希望能够轻松更改读写比例或添加自定义查询,以更好地反映客户的实际工作负载。
  • 提供了pgbench-tpcc-like工具的快速启动指南,包括克隆代码库和生成数据的步骤。
  • TPC-C工作负载仍然相对写重,查询分布为:SELECT 66%,UPDATE 18%,INSERT 15%,DELETE 1%。

延伸问答

什么是TPC-C,它的主要用途是什么?

TPC-C是用于OLTP数据库系统性能测量的标准,模拟零售公司运营。

在Postgres上运行TPC-C存在哪些问题?

在Postgres上运行TPC-C不够顺畅,pgbench工具的tpcb-like实现被认为过时。

TPC-C的主要事务类型有哪些?

TPC-C的事务类型包括新订单(约45%)、支付(约43%)、订单状态(约4%)、交付(约4%)和库存水平(约4%)。

如何快速验证数据库性能?

用户希望快速验证硬件或调整PostgreSQL配置,而不是学术上的细节,推荐使用pgbench-tpcc-like工具简化测试过程。

pgbench-tpcc-like工具的使用有什么优势?

pgbench-tpcc-like工具允许用户快速调整数据集大小和生成并行性,避免安装额外工具,并能轻松更改读写比例。

TPC-C工作负载的查询分布是怎样的?

TPC-C工作负载的查询分布为:SELECT 66%,UPDATE 18%,INSERT 15%,DELETE 1%。

➡️

继续阅读