TPC 基准程序是由事务处理性能委员会(Transaction Processing Performance Council, TPC)制定的一系列用于评估数据库系统和事务处理性能的标准测试工具,广泛应用于企业级信息系统性能评测。根据不同的业务场景,TPC 设计了多种基准程序:
-
TPC 基准程序类型及用途
- TPC-C:面向联机事务处理(OLTP)的基准程序,模拟一个典型的订单处理环境(如仓库与客户交易),包含新增订单、支付、发货等事务类型,主要用于衡量系统在高并发事务场景下的处理能力。
- TPC-D:早期面向决策支持系统的基准程序,后被 TPC-H 和 TPC-R 取代,侧重复杂查询和数据分析能力的评估。
- TPC-E:作为 TPC-C 的更现代替代者,模拟大型金融信息服务环境,包含更复杂的事务模型和数据结构,适用于评估高端服务器和数据库系统在复杂企业应用中的性能表现。
-
TPC-E 的核心指标
- 性能指标(tpsE):表示系统每秒可执行的事务数(transactions per second according to TPC-E),反映系统的处理能力,数值越高性能越强。
- 性价比(Price/tpsE):即系统总成本除以 tpsE 值,单位为美元/tpsE,用于衡量单位性能所需的成本,数值越低说明成本效益越好。
-
TPC 基准程序的特点
- 具有高度标准化、可重复性和严格审计机制,确保测试结果的公正性与可比性。
- 被业界广泛认可,常用于服务器、存储、数据库管理系统选型参考。
- 但其测试场景具有一定局限性,主要适用于特定类型的商业负载,不能完全代表所有应用场景(如实时分析、AI 推理等)。
补充背景:TPC 组织通过不断更新基准程序来适应技术发展,例如用 TPC-E 替代老旧的 TPC-C 和 TPC-D,以更好地反映现代企业计算环境的需求。
TPC-C 与 TPC-E 虽然都用于评估联机事务处理(OLTP)系统的性能,但在事务模型设计上存在显著差异,主要体现在复杂性、数据结构、事务类型和业务场景模拟等方面:
-
事务类型的复杂度不同
- TPC-C 定义了5种相对简单的事务操作:
- 新订单(New-Order)
- 支付(Payment)
- 订单状态查询(Order-Status)
- 发货(Delivery)
- 库存水平检查(Stock-Level)
这些事务以短小、高频为特点,侧重高并发下的基本事务处理能力。
- TPC-E 则定义了更复杂的 9种事务类型,模拟金融信息服务环境,例如:
- 交易请求(Trade-Result)
- 市场征询(Market-Watch)
- 客户资产查询(Customer-Position)
- 证券行情更新(Security-Detail)等
事务涉及更多表连接、复杂查询和引用完整性约束,对数据库的执行计划优化、锁管理和 I/O 性能要求更高。
- TPC-C 定义了5种相对简单的事务操作:
-
数据模型更加真实和复杂
- TPC-C 使用较简单的 9张表,如客户、订单、库存等,关系清晰但抽象程度较高。
- TPC-E 使用 33个实体表,包含客户账户、持仓、交易记录、公司信息、市场行情等,具有更丰富的外键约束、索引结构和参照完整性,更贴近现代企业级数据库的实际负载。
-
访问模式与一致性要求更高
- TPC-E 引入了“一致性读”(consistent reads)和“隔离性需求”的严格规定,要求在长时间运行的事务中保持数据逻辑一致性,增加了系统实现难度。
- 同时支持多用户并发访问同一账户或交易实体,考验系统的并发控制机制(如 MVCC 或锁粒度)。
-
业务场景定位不同
- TPC-C 模拟的是零售或订单处理系统(如电商后台),强调写密集型操作(如插入新订单)。
- TPC-E 模拟的是证券交易平台或银行信息系统,读写混合且对实时性、准确性和审计追踪能力要求极高。
综上所述,TPC-E 的事务模型比 TPC-C 更加复杂、逼真,能够更好地反映现代高端 OLTP 系统的真实工作负载,因此被视为更先进、更具挑战性的基准测试标准。



被折叠的 条评论
为什么被折叠?



