jmeter负载测试中如何找到最大并发用户数(实战)

上一篇 / 下一篇  2022-06-13 11:07:16 / 个人分类:测试

前言

性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢?

在区间中逐步增加步长,出现以下任意现象时,即是最大并发用户数:

  1. 出现连续报错

  2. 平均响应时间超过1.5秒(1.5秒是行业标准)

  3. tps出现下降趋势

负载测试概念

逐步增加并发用户数,找出被测系统的最大可接受的并发用户数,并考察系统性能的变化。

脚本总体设计:

1.png

场景介绍:

1、首先用插件管理器下载插件jpgc-StandardSet,然后重启jmeter

2、添加线程组jp@gc-SteppingThreadGroup

3、在线程组下添加请求取样器和其他配置元件,并填写接口参数,本文的被测接口为注册接口

4、添加监听器:

jp@gc-ActiveThreadsOverTime(活跃线程数随时间变化图)
jp@gc-ResponseTimesOverTime(响应时间随时间变化图)
jp@gc-TransactionsperSecond(tps随时间变化图)

5、jp@gc-SteppingThreadGroup填写数据,场景为在5秒内增加10个并发用户数,并运行30秒,再继续在5秒内增加10个并发用户数,重复循环,直至并发用户数达到50个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行。

2.png

6、第一次运行脚本,结束后观察数据:

3.png

4.png

5.png

由图形得知:

  1. 当并发用户数为20时,平均响应时间超过1.5秒

  2. tps全程没有出现明显的下降趋势,也没有出现连续的报错

第一次运行脚本分析:因此得出结论,系统的最大并发用户数为10~20区间

我们已经得出系统的最大并发用户数为10~20区间,那么具体是多少呢?接下来要减少步长,并进行第二次的测试

7、jp@gc-SteppingThreadGroup填写数据,场景为以10个并发用户数为基准,在1秒内增加1个并发用户数,并运行30秒,再继续在1秒内增加1个并发用户数,重复循环,直至并发用户数达到20个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行。

6.png

8、第二次运行脚本,结束后观察数据:

7.png

8.png

9.png

由图形得知:

  1. 当并发用户数为17时,平均响应时间超过1.5秒

  2. tps全程没有出现明显的下降趋势,也没有出现连续的报错

第二次运行脚本分析:因此得出结论,系统的最大并发用户数为16


TAG:

 

评分:0

我来说两句

Open Toolbar