JMeter 线程组之ConcurrencyThreadGroup介绍

时间:2023-12-25 23:19:55

线程之ConcurrencyThreadGroup

by:授客 QQ:1033553122

测试环境

apache-jmeter-3.2

jmeter-plugins-manager-1.3.jar

https://jmeter-plugins.org/get/

https://pan.baidu.com/s/14yHUKvH9M33k25EZRPnBjA

jmeter-plugins-cmn-jmeter-0.4.jar

jmeter-plugins-casutg-2.5.jar

下载地址:

https://pan.baidu.com/s/1Z293zQJTboDWrz823MwFnQ

插件安装方法

方式1:先安装插件管理器

1) 把插件管理器插件jmeter-plugins-manager-1.3.jar 放JMETER_HOME\lib\ext目录下,重启JMeter

2) 然后按下图操作,找到选项 -> Pugins Manager -> Aavailable plugins -> 勾选Custom Thread Groups -> 点击Apply Changes and Restart Jmeter,会自动重启JMeter安装插件

JMeter 线程组之ConcurrencyThreadGroup介绍

方式2:拷贝jmeter-plugins-cmn-jmeter-0.4.jar放入JMETER_HOME\lib目录下,拷贝jmeter-plugins-casutg-2.5.jar放入JMETER_HOME\lib\ext目录下,重启JMeter

插件说明

JMeter 线程组之ConcurrencyThreadGroup介绍

说明:

Target Concurrency: 300  预期客户端最大并发线程数为300

Ramp Up Time(sec): 360   在360秒内启动300个线程

Ramp-up Steps Count: 6   在上述时间内,分6次启动,即每次启动50个线程,直到300

Hold Target Rate Time (sec): 600  达到目标并发线程数300后,再并发运行600秒

Thread iterations Limit:1000000 每个线程最多迭代运行1000000次。

注意

1、程序会根据设置的Target Concurrency设置和当前处于活动状态的线程数来判断当前并发线程数是否达到了Target Concurrency,如果没有,则会不断创建线程,以最大的努力视图让并发线程数达到Target Concurrency设置值。所以,Target Concurrency只是个期望值,实际不一定可以达到这个并发数,得看上面的配置。

 

2、关于Thread iterations Limit值设置

这个选项默认为空,不做限制,可以理解为 永远 。如果运行时间已经达到Ramp Up Time + Hold Target Rate Time,但是Thread iterations Limit值还没达到预设值,则停止线程,否则也会停止线程。 这个时候,如果运行时间还没达到Ramp Up Time + Hold Target Rate Time,则程序会创建新的线程来尽量满足Target Concurrency预设值。所以,无特殊情况,建议不设置该选项的值,或者设置一个很大很大的值。

3、关于Ramp Up Time,Ramp-up Steps Count值设置

建议按如下方式设置:

考虑固定时间间隔(比如60秒)内要批量启动的用户数(比如50)

然后用Target Concurrency设置值(比如300)/ 批量启动的用户数50,计算得出Ramp-up Steps Count的值为=6