在性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢?
在区间中逐步增加步长,出现以下任意现象时,即是最大并发用户数:
-
出现连续报错
-
平均响应时间超过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>
AI助手
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