作测试,各类ps,jps,tps,qps,rps,hps,你理解几个?html
技术群里,问得最多的就是tps和qps,有类似的地方,也有差别的地方,我简单谈下本身的理解。(因为比较忙,下面部分摘抄自网络)前端
QPS:Queries Per Second,意思是“每秒查询率”,是一台服务器每秒可以响应的查询次数,是对一个特定的查询服务器(好比是读写分离的架构,就是读的服务器)在规定时间内所处理流量多少的衡量标准。数据库
TPS:TransactionsPerSecond,意思是每秒事务数,一个事务是指一个客户机向服务器发送请求而后服务器作出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。后端
tps,即每秒处理事务数,每一个事务包括了以下3个过程:服务器
a.用户请求服务器网络
b.服务器本身的内部处理(包含应用服务器、数据库服务器等)架构
c.服务器返回给用户前后端分离
若是每秒可以完成N个这三个过程,tps就是N;前端性能
qps,若是是对一个页面请求一次,造成一个tps,但一次页面请求,可能产生屡次对服务器的请求(页面上有不少html资源,好比图片等),服务器对这些请求,就可计入“Qps”之中;性能
可是,现在的项目基本上都是先后端分离的,性能也分为前端性能和后端性能,一般默认是后端性能,即服务端性能,也就是对服务端接口作压测
若是是对一个接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,不然,tps≠qps
若是是对多个接口(混合场景)压测,不加事务控制器,jmeter会统计每一个接口的tps,而混合场景是要测试这个场景的tps,显然这样得不到混合场景的tps,因此,要加了事物控制器,结果才是整个场景的tps。
jmeter聚合报告中,Throughput是用来衡量吞吐量,一般由tps来表示
部分参考自(有改动,若有侵权,请联系删除):