找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1757

积分

0

好友

257

主题
发表于 6 天前 | 查看: 20| 回复: 0

在高并发系统设计与性能测试中,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。

理解这些指标的区别,有助于我们更精准地描述性能问题、设定合理的压测目标,并科学评估系统的真实处理能力。




上一篇:树莓派镜像写入工具的镜像发现机制:JSON存储库详解与自定义镜像发布
下一篇:CentOS 7.9 部署 Keepalived 实现 Nginx 高可用集群配置
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 17:17 , Processed in 0.209211 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表