【Jmeter5.1】逻辑控制器元件四:Throughput Controller

一、Throughput Controller(吞吐量控制器)

Throughput controller(吞吐量控制器),用来控制其下元件的执行次数,并无控制吞吐量的功能。控制吞吐量的元件是:Constant Throughput Timer;

Throughput controller(吞吐量控制器)有两种模式可供用户进行设置,已达到控制每片段脚本的执行次数;模式包含:Percent ExecutionsTotal Executions;下面说一下面板参数:

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

根据实际操作,发现很多博客都说错了;下面就说一下"这两种模式+是否勾选Per User"的实现效果;所有举例的前提条件:线程数:5、循环数:2 ;

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

下面就基于这个条件,看不同情况下,throughput controller的效果吧!

二、模式一:Percent Executions   +  不勾选Per User :

情况一:线程组中Throughput Controller数量:1;

其下元件执行次数num=线程数*循环数*吞吐量%,若num<=线程数,则其下元件执行次数=num;若num>线程数,则其下元件执行次数=线程数;

1.num<=线程数的情况:执行次数为num

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

1.num>线程数的情况:执行次数为线程数

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

情况二:线程组中Throughput Controller数量:大于1个,每个Throughput Controller的吞吐量计算下来(执行次数num=线程数*循环数*吞吐量%)都没有超过线程数;则每个Throughput Controller下元件的执行次数=其所属Throughput Controller的(执行次数num=线程数*循环数*吞吐量%),若出现小数的情况,则按照“0.5舍去,大于0.5取1”取整计算;

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【若多个Throughput Controller的percent executions模式下的吞吐量之和大于100%,其运行次数还有其它规律……尚未明确】

三、模式一:Percent Executions   +  勾选Per User :

情况一:线程组中Throughput Controller数量:1;

其下元件执行次数num=线程数;情况是:若循环数*吞吐量% <=0.5,则其下元件不执行;循环数*吞吐量% >0.5,则其下元件执行次数=线程数;

1.吞吐量%*循环数<=0.5:不会执行其下的元件

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

2.吞吐量%*循环数>0.5:其下的元件的执行次数=线程数;

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

【Jmeter5.1】逻辑控制器元件四:Throughput Controller

四、模式二:Total Executions   +  不勾选Per User :

Throughput Controller其下的元件执行次数:num=吞吐量,若num<线程数,则执行次数=num;若num>线程数,执行次数=线程数;(就不截图了)

五、模式二:Total Executions   +  勾选Per User :

Throughput Controller其下的元件执行次数:线程数;

备注:第四、第五与资料上不一样……,不知是否正确啊……有没大神指导,但是我操作出来的结果就是这样……