jmeter线程组的使用

线程组Thread Group的参数主要分为三个部分:

第一部分:Action to be taken after a sample error(在取样器错误后要执行的动作):

1、continue(继续):如下图所示,如果login取样器错误以后,还会继续执行service操作。

jmeter线程组的使用

2、Start Next Loop(忽略错误,执行下一个循环):假如第一次循环的时候,login操作失败了,但是login操作还是会执行下一次循环。

jmeter线程组的使用

3、Stop Thread(停止线程):如果login操作失败,service操作也不会继续。

jmeter线程组的使用

4、Stop Test(等待当前执行的采样器结束后,结束整个测试):如果login操作失败,当前正在执行的操作是HTTP Request,那么要等执行完HTTP Request之后才会结束整个测试。

jmeter线程组的使用

jmeter线程组的使用

jmeter线程组的使用

结果:

jmeter线程组的使用

5、Stop Test Now(立即停止整个测试):

脚本及其配置与4唯一的不同,login的线程组选项为Stop Test Now,结果如下:

jmeter线程组的使用

立即停止整个测试,导致正在执行的取样器结果失败,失败原因:java.net.SocketException: Socket closed。

第二部分:

1、Number of Threads(users):用户个数

2、Ramp-up Period(in seconds):在多长时间内,加载指定的用户个数,单位为s。

假如需加载100个用户,在5s中之内加载完成,那么平均每秒钟加载20个用户。

3、Loop Count(循环次数):用户执行操作的循环次数,如果选择forever,则永远循环下去。

jmeter线程组的使用

查看结果发现,Thread Name有两种:Thread Group 1-2 和Thread Group 1-1,操作共6次,跟我们的设想一致。

两个用户,分别做3次service操作,所以共6次。

4、Delay Thread creation until needed:大致是这个意思,当线程需要执行的时候,才会被创建。如果不选择这个选项,那么,在计划开始的时候,所有需要的线程就都被创建好了。

5、Schedule(调度器):配合第三部分说明吧。

第三部分:

1、Duration(seconds):持续时间,该线程组持续操作的时间。在此选项填入N,说明这个计划,从某个开始时间算起,执行N秒后结束。

2、Startup delay(seconds):延迟时间。在此选项填入N,手动点击开始执行计划,然后延迟N秒后,计划才真正开始执行。