性能测试 —— Jmeter接口处理不低于200次/秒-场景

需求:期望某个接口系统的处理能力不低于200次/秒,如何设计?

①这个场景是看服务器对某个接口的TPS值是否能大于等于200,就可以了;

②系统处理能力:说的就是我们性能测试中的TPS;

③只要设计一个目标场景TPS能超过200,而不报错,响应时间也在可接受的范围内就可以了;

Jmeter设计操作:

TPS,肯定很多人就会想到吞吐量,就会在吞吐量上找突破口。

用一个"常数吞吐量定时器 Constant Throughput Timer"也可以实现预设一个固定的12000的值,因为在这个定时器中,单位是每分钟,从而实现目标200TPS的诉求。

这个定时器,确实就是可以实现这样一个目标。但接下来的问题是,用普通线程组,要设置多少并发用户,才能让这个TPS值达到呢?

并发用户(线程数)设置小了,这个目标达不到,设置大了,不能找出真实的TPS值。一个一个并发用户数去猜,时间浪费了,效率太低。

复制代码
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

解决方案:

①下载Jmeter的插件管理器,地址:https://jmeter-plugins.org/

然后再利用插件管理器,下载jpgc插件。然后添加bzm - Arrivals Thread Group线程组。

复制代码
第一个 Target Rate 设置为目标12000,因为时间是分钟;
第二个 RampUpTime 加速时长,随自己设置;
第三个 Ramp-Up Steps Count 总共加速次数,随自己设置;
第四个 Hold Target Rate Time 达到目标后,持续运行多长时间,随自己设置。
第五个 Tips:在图表graph下面,有个Time Unit 单选,分钟\秒,切换后,上面的设置单位会发生变化,注意切换后,要按照需求更改相关设置数据。

运行过程:

复制代码
整个设置过程,完全没有设置并发用户数。也就是说,为了达到200TPS值,并发用户数,完全是在运行过程中动态调整变化的。
我们只需要再添加 Active Threads Over Time 监听器,查看运行过程中,实时的并发用户数,

再添加 Transactions per Second 监听器, 查看运行过程中,实时TPS值,
我们就可以通过这两个监听器,实时对比看到,在某个时间点TPS达到或超过200,此时活跃的并发用户的值,就知道系统在多少并发用户数时,能满足预期目标;

如果发现运行过程中,已经报错,或相应时间超长,TPS却始终都无法达到预期的200,哪就说明,该接口无法达到预期目标。

②如果还想知道具体是多少个并发用户(线程数)让接口达到200TPS,可以再用一个 Stepping Thread Group。

实时观察活跃线程数和tps值,就能比较准确的找到并发用户数量了。

END今天的分享就到此结束了,点赞关注不迷路

相关推荐
niuniu_6662 小时前
针对 Python 3.7.0,以下是 Selenium 版本的兼容性建议和安装步骤
开发语言·chrome·python·selenium·测试工具
海姐软件测试4 小时前
Jmeter如何使用MD5进行加密?
python·jmeter·压力测试
suimeng64 小时前
Java的Selenium的特殊元素操作与定位之时间日期控件
java·自动化测试·selenium
suimeng69 小时前
Java的Selenium的特殊元素操作与定位之select下拉框
java·自动化测试·selenium
可涵不会debug10 小时前
JMeter接口性能测试从入门到精通
selenium·测试工具·jmeter·压力测试
wgslucky10 小时前
Jmeter脚本使用要点记录
jmeter
suimeng612 小时前
Java的Selenium的特殊元素操作与定位之模态框
java·自动化测试·selenium
suimeng61 天前
Java的Selenium的特殊元素操作与定位之window切换
java·自动化测试·selenium
lisw051 天前
AI驱动的测试自动化:智能测试工具全景评测
人工智能·测试工具·自动化
可可南木1 天前
BT-Basic函数之首字母T
开发语言·测试工具·pcb工艺