QPS、TPS、并发数是什么?90%的人都搞错了!

QPS、TPS、并发数经常出现在大型架构里,下面我详解三者以及区别@mikechen

QPS、TPS、并发数

系统性能与容量规划中,QPS、TPS和并发数是三个最常被提及、也最容易混淆的指标。

QPS、TPS、并发数是什么?90%的人都搞错了!-mikechen

很多人习惯把它们混为一谈,但实际上。

它们分别描述的是请求吞吐、事务吞吐和同时处理能力,关注点并不相同。

 

QPS

QPS(Queries Per Second):表示每秒处理的查询请求数,常用于衡量接口、搜索、数据库等系统的访问压力。

QPS、TPS、并发数是什么?90%的人都搞错了!-mikechen

比如:一个页面加载时,浏览器会同时请求 HTML、CSS、JS、图片,这些都可能计入 QPS。

所以,QPS 更适合衡量接口、页面资源、网关、数据库查询等“请求型”系统的压力

它强调的是“请求量”,不直接描述请求是否完成业务闭环。

一句话总结:QPS:每秒处理的请求数,偏“请求维度”。

 

TPS

TPS(Transactions Per Second)则表示每秒完成的事务数,更偏向业务层面的完整操作。

QPS、TPS、并发数是什么?90%的人都搞错了!-mikechen

它更强调一次完整业务动作的完成,比如:一次下单、一次支付、一次登录。

也就是说,一个事务里可能包含多个请求,但在业务层它仍然算作一次 TPS。

比如:TPS = 1800:每秒成功完成1800笔完整订单事务。

但是,这个TPS,是可以包含多次操作:比如:库存检查、扣款。。。等多次操作。

这也是TPS和QPS最本质的不同。

 

并发数

并发数:则指同一时刻系统中正在处理的请求数量。

QPS、TPS、并发数是什么?90%的人都搞错了!-mikechen

它反映的是系统瞬时承载能力,而不是单位时间内完成了多少请求。

比如:并发数 = 5000:意味着同一时刻有5000个用户同时发起下单请求。

并发数:系统同时正在处理的请求数,偏“同时在线处理能力”。

最后,简要总结:

QPS:每秒处理的请求数,偏“请求维度”。

TPS:每秒处理的事务数,偏“事务维度”。

并发数:系统同时正在处理的请求数,偏“同时在线处理能力”。

评论交流
    说说你的看法