性能测试 —— 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今天的分享就到此结束了,点赞关注不迷路

相关推荐
栗子~~2 分钟前
集成 jacoco 插件,查看单元测试覆盖率
缓存·单元测试·log4j
测试老哥15 分钟前
外包干了两年,技术退步明显。。。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
测试19984 小时前
外包干了2年,技术退步明显....
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
Quz6 小时前
Wireshark协议相关功能:过滤、启用/禁用、导出和统计查看
网络·测试工具·wireshark
666和7776 小时前
C#的单元测试
开发语言·单元测试·c#
明月看潮生9 小时前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
炭烤玛卡巴卡11 小时前
学习postman工具使用
学习·测试工具·postman
yinshuilan13 小时前
第2节-Test Case如何调用Object Repository中的请求并关联参数
测试工具
互联网杂货铺14 小时前
Postman接口测试:全局变量/接口关联/加密/解密
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
waicsdn_haha14 小时前
Postman最新详细安装及使用教程【附安装包】
测试工具·api·压力测试·postman·策略模式·get·delete