QPS、TPS、RPS、吞吐量含义

谈到软件测试,就会想到性能测试,弹起性能测试便会想到QPS、TPS、吞吐量,有很多人认为这三个是一个东西,实际上并不是。此处以一个业务举例。
业务A:一个登陆的功能,主要页面为登陆页面、登陆成功后跳转页面success.html。整个事务的主要资源有登陆接口(api)、success页面的样式css.css,加载的js脚本script.js。
整个事务流程:发起请求-后端接口处理请球-返回到前端页面并请求加载前端资源

一、TPS

TPS(Transactions Per Second ),字面意思即每秒处理事务数,以业务A为例, 发起登录请求-后端处理请求-返回前端页面就是一整个事务,如果一秒钟能处理N个这样的流程,那么TPS就是N/S。

二、QPS

QPS(Queries Per Second),字面意思即每秒查询数。其实这个最早大部分时候被用来描述数据库中SQL的查询性能,后面也有人用它描述请求,用请求来计算的话,就不包含插入、更新、删除操作了,只针对查询接口。一般对于一个事务访问,会形成一个 “ T ”;但一次 " T " 中,可能产生多次对服务器的请求,服务器对这些请求,就可计入 QPS 之中。例如在业务A中,除了接口还有其它页面资源信息,一次请求包括css.css,script.js以及api,向服务器发起了3次请求,那么QPS=3。
个人认为QPS现在的含义混淆不清,很容易产生误解,所以应该很少会用到这个来判断性能指标,还是TPS较为准确。

三、RPS

RPS(Request Per Second),字面意思即每秒请求数。一般我们将它理解为一个HTTP请求。如果一个事务只有一个接口,那么TPS=RPS,如果这个接口是查询接口,那么TPS=RPS=QPS。用到的也较少

四、吞吐量

用于衡量网络成功传输的数据量,单位是Byte/s,一个系统的吞度量(承压能力)与request对CPU的消耗、外部介面、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统介面、IO影响速度越慢,系统吞吐能力越低,反之越高。也就是说吞吐量一般要根据实际情况看与什么指标关联性更大来判断系统的承受能力。
吞吐量这个概念争议也比较大,有人说吞吐量和TPS一样,实际关系并不是特别大。注:jmeter报告中的吞吐量指的可不是这个,而是TPS

五、资源利用率

服务器主要包含:CPU、内存、磁盘、网络

总结:个人认为现在最好判断性能的指标就是TPS,QPS和RPS实际很少用到,吞吐量的概念现在也模糊不清。概念什么的就看看知道是什么是什么意思以及它们的区别就好了。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值