内容提要
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提供了pgbench工具,但在实际操作中,用户更关注快速验证硬件和调整配置,而非学术细节。这意味着在选择性能测试工具时,实用性和效率是关键考虑因素。
pgbench-tpcc-like工具的优势
pgbench-tpcc-like工具旨在简化TPC-C测试过程,允许用户快速调整数据集大小和生成并行性。这种灵活性使得用户能够更好地模拟实际工作负载,避免了安装额外工具的麻烦,适合需要快速验证数据库性能的用户。
性能测试的关键指标
在TPC-C测试中,tpmC(每分钟处理的订单数量)是衡量性能的核心指标。用户应关注事务类型的分布,尤其是新订单和支付事务的比例,以确保测试结果能够真实反映数据库在高负载下的表现。
延伸问答
什么是TPC-C标准?
TPC-C是用于OLTP数据库系统性能测量的标准,模拟零售公司运营。
在Postgres上运行TPC-C存在哪些问题?
在Postgres上运行TPC-C不够顺畅,pgbench工具的tpcb-like实现被认为过时。
TPC-C的主要事务类型有哪些?
TPC-C的事务类型包括新订单(约45%)、支付(约43%)、订单状态(约4%)、交付(约4%)和库存水平(约4%)。
如何快速验证PostgreSQL的性能?
用户希望快速验证硬件或调整PostgreSQL配置,推荐使用pgbench-tpcc-like工具简化测试过程。
pgbench-tpcc-like工具的使用步骤是什么?
使用pgbench-tpcc-like工具的步骤包括克隆代码库、创建数据库和生成数据等。
TPC-C工作负载的查询分布是怎样的?
TPC-C工作负载的查询分布为:SELECT 66%,UPDATE 18%,INSERT 15%,DELETE 1%。