Jmeter性能压测:TPS与QPS

🍅 **点击文末小卡片,**免费获取软件测试全套资料,资料在手,涨薪更快

1、TPS和QPS的区别

TPS:意思是每秒事务数,具体事务的定义都是人为的,可以一个接口、多个接口、一个业务流程等等。

一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。

以单接口定义为事务为例,每个事务包括了如下3个过程:

复制代码
向服务器发请求
服务器自己的内部处理(包含应用服务器、数据库服务器等)
服务器返回结果给客户端

如果每秒能够完成N次这三个过程,TPS就是N;

如果多个接口定义为一个事务,那么,会重复执行1/2/3,完成一次这几个请求,算做一个TPS。

QPS:意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询SQL的次数)

显然这个不够全面,不能描述增删改,所以,不建议用QPS来作为系统性能指标。

两者的区别:

如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么TPS = QPS,否则,TPS ≠ QPS

如果是容量场景,假设n个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = n*TPS

Jmeter聚合报告中,Throughput是用来衡量请求的吞吐量,也就是TPS。

复制代码
TPS = 样本数/运行时间

我们定义的是TPS,不是QPS。如果没有定义事务,会把每个请求作为一个事务。

QPS是数据库中的概念,每秒执行条数(查询),被引申到压测中来了,但是不包括插入、更新、删除操作,所以不建议用QPS来描述系统整体的性能。

建议用TPS,这个T,你可以随意的定义,可以是一个接口,也可以是一个业务流程等等。

2、面试性能测试bug

①在做压力测试的时候,吞吐量TPS上不去,原本的TPS标准是要达到400/sec,但是实际压测只有50多的TPS。

后面发现是数据库的磁盘空间满了,导致查询速度和请求速度过慢,然后我让我们后端开发同事把数据库的磁盘清理一下就恢复正常了。

②我在压测(修改密码,新建用户,投保用户列表接口,保单管理接口,支付接口,保单查询接口,查看险种接口,投保接口)

接口的时候【这里面接口自己选一个】,平均响应时间在10s左右,不符合性能指标3s

后来发现:原因是接口通过redis,每次请求redis都会初始化。

后面解决:在测试环境增加路由配置之后,这个问题就解决了

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
今儿敲了吗14 小时前
Python ——第三方包
笔记·python
麒麟水手14 小时前
国产银河麒麟系统开发实录:跑通Streamlit,我踩过的6个坑
python
麒麟水手14 小时前
麒麟系统部署检查清单:上线前30分钟,逐项自查这4类问题
python
用户03321266636716 小时前
使用 Python 在 PDF 中添加或删除数字签名
python
代码方舟17 小时前
零信任架构实战:基于天远柠檬查出险-登记证API构建自动化车辆履约评估网关
人工智能·python·架构·自动化
估值探索者17 小时前
【Python实时盯盘与预警 #08】成交额突然放大2倍?Python窗口比较抓异动
java·开发语言·python
yk 坤帝17 小时前
用Python实现发送《自动周报》实战脚本
开发语言·python
一点一木18 小时前
Seed Evolving 深度测评:我用它造了一个 AI 出题工具
人工智能·python·github
阿童木写作19 小时前
跨境卖家效率翻倍,跨马翻译批量图片翻译工具实测
人工智能·python
鹿鹿学长19 小时前
2026国赛报名季:从组委会第一次通知到各校8月报名通知,赛程报名评奖官方口径一次讲清
python·自动化