做测试,ps、jps、tps、qps、rps、hps,你理解几个?
技术群里(652122175),问得最多的就是tps和qps,有相似的地方,也有差异的地方,我简单谈下自己的理解。
TPS
TPS:Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。
以单接口定义为事务为例,每个事务包括了如下3个过程:
a.向服务器发请求
b.服务器自己的内部处理(包含应用服务器、数据库服务器等)
c.服务器返回结果给客户端
如果每秒能够完成N次这三个过程,tps就是N;
如果多个接口定义为一个事务,那么,会重复执行abc,完成一次这几个请求,算做一个tps。
QPS
QPS:Queries Per Second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标。
区别
如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,否则,tps≠qps
如果是容量场景,假设n个接口都是查询接口,且这个接口内部不会再去请求其它接口,qps=n*tps
jmeter聚合报告中,Throughput是用来衡量请求的吞吐量,也就是tps,tps=样本数/运行时间;我们定义的是tps,不是qps
如果没有定义事务,会把每个请求作为一个事务
个人建议
QPS是Query Per Second,是数据库中的概念,每秒执行条数(查询),被引申到压测中来了,但是不包括插入、更新、删除操作,所以不建议用qps来描述系统整体的性能;
建议用tps,这个t,你可以随意的定义,可以是一个接口,也可以是一个业务流程等等。
另外,面试题:pv可以用来作为性能测试的指标么?欢迎加WX群、Q群交流讨论。
其它热文推荐一:性能测试实战
1、jmeter+k8s+微服务+skywalking+efk,测试都在学的热门技术:https://www.cnblogs.com/uncleyong/p/15475614.html
2、jmeter & 性能测试,从0到实战(实操易用):https://www.cnblogs.com/uncleyong/p/12311432.html
其它热文推荐二:自动化测试实战
1、接口自动化测试实战(加V信获取自动化框架):https://www.cnblogs.com/uncleyong/p/12016690.html
2、自动化测试框架(汇总):https://www.cnblogs.com/uncleyong/p/10650552.html
其它热文推荐三:上班正确的摸鱼方式
上班累了,"摸鱼"放松一下吧!“摸鱼”是为了更好的服务于工作,so,别闲聊浪费时间了
适用于手机低头族、办公室电脑族的颈部保健操:
1、轻松自我肩颈按摩:https://www.cnblogs.com/uncleyong/p/10823495.html
2、每一位测试都有必要知道的保健操:https://www.cnblogs.com/uncleyong/p/15336727.html
3、八段锦(通经补气):https://www.cnblogs.com/uncleyong/p/15369356.html
也可以悄悄学习:
2019-2020测试实用干货精选汇总:https://mp.weixin.qq.com/s/vWP_m-mWvsUvQNCzpdaNmg
2016-2022测试分享汇总:https://www.cnblogs.com/uncleyong/p/10530261.html
其它热文推荐四:简历笔试
1、简历:深度剖析:为啥你的面试邀请那么少?https://www.cnblogs.com/uncleyong/p/12620020.html
2、一些笔试题:https://www.cnblogs.com/uncleyong/p/11119489.html
其它热文推荐五:职业规划
只要路走对了,就不怕遥远。方向不对,努力白费。
1、测试提升方向:你是选自动化测试?测试开发?性能测试?还是安全测试?语言选python还是java?https://www.cnblogs.com/uncleyong/p/11995605.html
2、35岁焦虑症,互联网只能做到35岁?https://www.cnblogs.com/uncleyong/p/11751389.html
3、书籍推荐:https://www.cnblogs.com/uncleyong/p/11978650.html