3分钟理清QPS、TPS、RT、吞吐量以及它们直接的关系

在我们业务开发或者面试的过程中,经常会遇到QPS、TPS、RT、吞吐量这些概念,今天我们就来聊一聊这些概念的所代表的含义。

1、QPS

QPS是每秒的查询率,它表示一台服务每秒响应的查询的次数,如下图所示:

假设服务器1秒响应500次请求,那么此时QPS就是500。QPS是一个非常重要的指标,在618电商平台在大促期间,服务器需要处理大量用户请求,我们可以通过服务器的QPS来评估服务器的处理能力。

2、 TPS

TPS表示每秒事务处理的数量,一个事务表示客户端向服务器发送请求,然后响应的过程,如下图所示:

如淘宝上下单商品的时候,每当用户下单请求被服务器接受到之后,服务需要保存订单、扣减商品库存、确认支付等等这一些列的操作都完成之后并成功返回给客户端的过程,这就构成了一次事务。 TPS 表示每秒内可以完成多少次这样的请求。

3、RT

RT是衡量系统在接收到请求后服务器业务处理完成并响应给客户端所需要的时间,如下图所示:

RT是客户端发送请求和得到响应之间的时间间隔;如在手机上打开淘宝,在t1时刻点击商品查询按钮,客户端请求服务器获取商品数据然后客户端展示商品信息结束的时刻t2为止,那么t2-t1的时间间隔就是系统RT。RT的数值大小直接反映了系统的快慢。

4、并发数

并发数是指同一时间内系统能同时处理请求的数量,也就是有多少请求可以在同一个时间被系统处理,如下图所示:

假如一个网站每秒钟可以同时处理500个用户的请求,那么它的并发数量就是500。并发数也是反映系统负载能力的一种标准。

5、吞吐量

吞吐量是指一定的时间内系统能够处理的请求数量,也就是一定时间内系统能够完成多少工作。系统的吞吐量与CPU的消耗、网络的IO、外部的接口都是密切相关。如果一个网站在一小时内能够处理1000个用户的请求,那么系统的吞吐量就是1000个请求每小时。

6、几个概念直接的关系

QPS(TPS) = 并发数 / 平均响应数据

假设一个网站有100个的用户访问,100个用户平均1天分访问次数5次,每次访问包括假设是2个事务请求和10次查询。

(1)总的访问次数 = 100 * 5 = 500次访问

(2)总的事务数量 = 500次 * 2次事务 =1000次事务

(3)总的查询数量 = 500 * 10次 = 5000次

(4)一天24小时一共86,400秒, TPS = 1000次事务量 / 86400

(5)QPS = 5000次查询 / 86400

以上就是QPS、TPS、RT、吞吐量概念以及几个概念之间的关系了。

10