在性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢?
在区间中逐步增加步长,出现以下任意现象时,即是最大并发用户数:
出现连续报错
平均响应时间超过1.5秒(1.5秒是行业标准)
tps出现下降趋势
负载测试概念
逐步增加并发用户数,找出被测系统的最大可接受的并发用户数,并考察系统性能的变化。
脚本总体设计:
1、首先用插件管理器下载插件jpgc-StandardSet,然后重启jmeter
2、添加线程组jp@gc-SteppingThreadGroup
3、在线程组下添加请求取样器和其他配置元件,并填写接口参数,本文的被测接口为注册接口
4、添加监听器:
<span style="background-color:#f8f8f8"><span style="color:#333333">jp@gc-ActiveThreadsOverTime(活跃线程数随时间变化图)
jp@gc-ResponseTimesOverTime(响应时间随时间变化图)
jp@gc-TransactionsperSecond(tps随时间变化图)</span></span>
5、jp@gc-SteppingThreadGroup填写数据,场景为在5秒内增加10个并发用户数,并运行30秒,再继续在5秒内增加10个并发用户数,重复循环,直至并发用户数达到50个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行。
6、第一次运行脚本,结束后观察数据:
?
由图形得知:
当并发用户数为20时,平均响应时间超过1.5秒
tps全程没有出现明显的下降趋势,也没有出现连续的报错
第一次运行脚本分析:因此得出结论,系统的最大并发用户数为10~20区间
我们已经得出系统的最大并发用户数为10~20区间,那么具体是多少呢?接下来要减少步长,并进行第二次的测试
7、jp@gc-SteppingThreadGroup填写数据,场景为以10个并发用户数为基准,在1秒内增加1个并发用户数,并运行30秒,再继续在1秒内增加1个并发用户数,重复循环,直至并发用户数达到20个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行。
8、第二次运行脚本,结束后观察数据:
?
由图形得知:
当并发用户数为17时,平均响应时间超过1.5秒
tps全程没有出现明显的下降趋势,也没有出现连续的报错
第二次运行脚本分析:因此得出结论,系统的最大并发用户数为16
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
?