TPS和QPS区别与计算
1、定义
- TPS(Transactions Per Second):每秒事务数。事务是指一个完整的业务处理过程,例如用户完成一次购物支付的过程,从挑选商品、下单、支付到生成订单,这一系列操作可以看作是一个事务。TPS 主要用于衡量系统在单位时间内能够成功处理的完整事务数量,重点关注的是业务层面的处理能力。
- QPS(Queries Per Second):每秒查询数。它侧重于衡量系统每秒能够处理的查询请求数量。这里的查询是一个比较宽泛的概念,例如数据库查询、HTTP 请求获取数据等操作都可以看作是查询。比如,一个网页服务器每秒能够响应的页面访问请求次数就是 QPS。
2、区别
- 范围不同:
TPS 涉及的是完整的业务事务,包含多个操作步骤,强调业务的完整性。一个事务可能包含多个查询操作以及其他业务逻辑操作,如数据更新、事务提交等。
QPS 主要聚焦于查询操作,范围相对较窄,只是对系统查询处理能力的一种度量。
- 应用场景不同:
TPS 常用于衡量涉及复杂业务逻辑的系统性能,如电商平台的下单系统、银行的转账系统等。这些系统的业务操作往往不是简单的查询,而是包含多个步骤的事务处理。
QPS 更多地用于对以查询为主的系统进行性能评估,像搜索引擎、内容分发网络(CDN)的内容查询部分等。这些系统主要功能是快速响应查询请求,提供数据读取服务。
3、计算方法
- TPS 计算:
一般情况下,在性能测试中,先确定一个测试时间段(比如 1 分钟),记录在这个时间段内系统成功处理的事务总数(假设为 N)。然后用事务总数 N 除以测试时间段对应的秒数(1 分钟即 60 秒),得到 TPS 的值。公式为:TPS = N / T(T 为测试时间段对应的秒数)。
例如,在 10 分钟内系统成功处理了 3000 个事务,那么 TPS = 3000 /(10×60)= 5(TPS)。
- QPS 计算:
同样先确定测试时间段,统计这个时间段内系统处理的查询请求总数(假设为 M),再除以测试时间段对应的秒数。公式为:QPS = M / T。
比如,在 5 分钟内系统处理了 9000 个查询请求,那么 QPS = 9000 /(5×60)= 30(QPS)。