在性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢?
在区间中逐步增加步长,出现以下任意现象时,即是最大并发用户数:
出现连续报错
平均响应时间超过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
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!