三个指标的定义

在数据库性能评估中,经常会遇到 tpmC、tpm、tps 这三个指标,它们的含义如下:

指标全称含义
tpmCTransactions Per Minute (TPC-C)每分钟处理的新订单事务数(TPC-C 基准)
tpmTransactions Per Minute每分钟处理的总事务
tpsTransactions Per Second每秒处理的总事务

注意区别:tpmC 只统计新订单,tpm 和 tps 统计所有类型的事务。

TPC-C 基准测试的事务模型

tpmC 来自 TPC-C 基准测试。TPC-C 模拟的是一个完整的订单处理系统,包含 5 种事务类型:

事务类型占比
New Order(新订单)45%
Payment(支付)43%
Order Status(订单查询)4%
Delivery(发货)4%
Stock Level(库存查询)4%

tpmC 只统计其中的 New Order 事务,但系统实际上同时在处理其他 4 种事务。这就是换算公式中 0.45 这个系数的来源。

换算公式

1 tpmC = (1 / 0.45) / 60 ≈ 0.037 tps

逐步推导

假设系统性能为 1 tpmC,即每分钟处理 1 笔新订单:

第一步:还原总事务数(事务范围扩大:新订单 → 全部事务)

新订单只占总事务的 45%,所以:

总事务/分钟 = 1 ÷ 0.45 ≈ 2.222 tpm

这 2.222 笔事务的分布为:

新订单:  2.222 × 45% = 1.0 笔
支付:    2.222 × 43% ≈ 0.96 笔
订单查询:2.222 × 4%  ≈ 0.09 笔
发货:    2.222 × 4%  ≈ 0.09 笔
库存查询:2.222 × 4%  ≈ 0.09 笔
合计 ≈ 2.222 笔 ✓

第二步:时间单位换算(分钟 → 秒)

总事务/秒 = 2.222 ÷ 60 ≈ 0.037 tps

所以 1 tpmC = 0.037 tps,反过来:

1 tps ≈ 27 tpmC

实际应用举例

如果一个数据库标称 10 万 tpmC

100,000 tpmC × 0.037 ≈ 3,700 tps

即该系统实际每秒能处理约 3,700 笔事务。

如果业务需求是 5,000 tps

5,000 tps × 27 = 135,000 tpmC

选型时需要找标称至少 13.5 万 tpmC 的数据库方案。

小结

这个换算的本质就是做两件事:

  1. 事务范围转换:tpmC 只看新订单(45%),tps 看全部事务 → 除以 0.45
  2. 时间单位转换:tpmC 按分钟计,tps 按秒计 → 除以 60

厂商喜欢用 tpmC 报数(数字大、好看),实际做容量规划时 tps 更直观。记住 tpmC ÷ 27 ≈ tps 这个速算就够用了。