在高并发系统设计与性能测试中,TPS、QPS和并发数是三个最常被提及的核心指标。理解它们之间的区别与联系,对于评估系统容量、定位性能瓶颈至关重要。
TPS:衡量事务吞吐能力
TPS,全称 Transactions Per Second,意为每秒事务数。它用于衡量系统在单位时间内成功处理的事务数量。
这里的事务,通常指一个包含多个操作步骤、强调完整性的业务处理单元,例如一次数据库的完整读写流程。一个事务的成功,意味着其包含的所有操作都已完成并成功提交。

例如,一次电商下单操作可能包含:调用下单接口、扣减库存、写入订单表等多个步骤。当这些步骤全部成功完成,则计为1次TPS。
因此,TPS常用来评估数据库、交易系统等对事务完整性有要求的后端 & 架构场景下的吞吐能力。
QPS:侧重请求查询速率
QPS,全称 Queries Per Second,意为每秒查询数。它最初多用于衡量系统处理查询类请求的速率。

例如,一个Web服务器每秒成功处理了10,000次HTTP请求,那么它的QPS就是10,000。
→ QPS = 10,000
QPS更侧重于单次请求或查询的数量统计,在读多写少、无状态的服务场景(如API网关、缓存、搜索服务)中应用广泛。
在实际的工程实践中,QPS与TPS的界限有时会比较模糊,区别主要取决于一次“请求”是否等同于一个完整的“事务”。
并发数:反映系统实时负载压力
并发数,指的是系统在同一时刻正在处理的活跃请求或连接的数量。

例如,当前系统中有500个用户请求尚未返回结果,那么系统的并发数就是500。
并发数直接反映了系统当前的负载压力,它影响着CPU、内存、线程、数据库/中间件连接等关键资源的占用情况,并与用户感知的响应延迟高度相关。但它本身并不直接表示系统单位时间内的处理能力。
三者的内在联系与区别
总结来说,这三者的关系可以概括为:并发数决定了系统同时处理请求的规模,而TPS/QPS则衡量了系统随时间推移的吞吐效率。
在压力测试中,QPS和TPS经常被近似等同使用,但它们的严格含义有所不同:
- 一次“页面访问”或“下单流程”,通常被视为1个TPS(一个事务)。
- 而完成这次访问,后端可能产生了多个请求(如查询商品详情、校验库存、写入订单等),这些请求次数的总和,则构成了对应的QPS。
理解这些指标的区别,有助于我们更精准地描述性能问题、设定合理的压测目标,并科学评估系统的真实处理能力。
|