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都会初始化。

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

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

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

相关推荐
代码山河5 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行5 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
梯度下降者5 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc8 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读8 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放8 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下9 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐9 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹9 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi