博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

jmeter之Throughput Controller

Posted on 2018-08-22 14:16  MJ-majun  阅读(223)  评论(0编辑  收藏  举报

jmeter之Throughput Controller

Throughput Controller

这个控制器的命名不准确,因为它不是用来控制吞吐量的。吞吐量控制器允许用户控制执行频率,jmeter提供了两种模式:执行百分比和执行总次数。

执行百分比:通过测试计划的总次数,使控制器执行特定的迭代次数所占的百分比,如下图,填写0-100的数字,表示执行的百分比。

执行总次数:当控制器执行了指定的执行总次数后即停止执行此控制器,如下图,吞吐量后的文本框里表示控制器将执行的次数。

Per User选项的用处:

勾选:会按照每个线程单独计算吞吐量,如线程组设置了5个线程,循环次数为2的情况,吞吐量为1时,吞吐量的子节点每个线程执行一次,总共会执行5次。

不勾选:按照全局的执行数次进行计数,如线程组设置了5个线程,循环次数为2的情况,吞吐量为1时,吞吐量的子节点仅会执行一次。

1.users为5,loop次数改为1,按total Executions,Thoughtput_1为1,Thoughtput_1为2:

不勾选 per user的结果:GetDetailsRequest_1运行次数:1;GetDetailsRequest_2运行次数:2

勾选 per user的结果:GetDetailsRequest_1运行次数:5;GetDetailsRequest_2运行次数:5

2.users为5,loop次数改为1,按percent Executions,Thoughtput_1为40,Thoughtput_1为60:

不勾选 per user的结果:GetDetailsRequest_1运行次数:2;GetDetailsRequest_2运行次数:3

勾选 per user的结果:GetDetailsRequest_1运行次数:0;GetDetailsRequest_2运行次数:5

3.users为5,loop次数改为2,按percent Executions,Thoughtput_1为40,Thoughtput_1为60:

不勾选 per user的结果:GetDetailsRequest_1运行次数:4;GetDetailsRequest_2运行次数:6

勾选 per user的结果:GetDetailsRequest_1运行次数:5;GetDetailsRequest_2运行次数:5

4.users为5,loop次数改为2,按total Executions,勾选 per user的结果:GetDetailsRequest_1运行次数:5;GetDetailsRequest_2运行次数:10

users为5,loop次数改为2,按total Executions,不勾选 per user的结果:GetDetailsRequest_1运行次数:1;GetDetailsRequest_2运行次数:2

总结:

users为5,loop次数改为1,按total Executions, Thoughtput_Controller1的thoughout值为1,Thoughtput_Controller2的thoughout值为2:

不勾选 per user的结果:子节点GetDetailsRequest_1运行次数:1(即设置的Thoughtput_1值);子节点GetDetailsRequest_2运行次数:2(即设置的Thoughtput_1值),

注:不勾选per user, 选择total executions, Throughput Controller下子节点的执行次数即为设定的thoughout值,跟users和loop值无关 。因此无论users跟loop值如何变化,此处子节点GetDetailsRequest_1运行次数永远为设定值1,;子节点GetDetailsRequest_2运行次数为设定值2;

勾选 per user的结果:GetDetailsRequest_1运行次数:5;GetDetailsRequest_2运行次数:5

 注:勾选per user,选择选择total executions, Throughout Controller下子节点的执行次数=min(users*throughout, users*loops)

 

users为5,loop次数改为1,按percent Executions,Thoughtput_Controller1的thoughout值为40Thoughtput_Controller2的thoughout值为60

不勾选 per user的结果:GetDetailsRequest_1运行次数:2;GetDetailsRequest_2运行次数:3

注:不勾选per user, 选择percent Executions, Throughput Controller下子节点的执行次数=users*loops*thoughout/100,如子节点GetDetailsRequest_1=5*1*40/100=2

勾选 per user的结果:GetDetailsRequest_1运行次数:0;GetDetailsRequest_2运行次数:5

 

users为5,loop次数改为2,按percent Executions,Thoughtput_1为40,Thoughtput_1为60:

不勾选 per user的结果:GetDetailsRequest_1运行次数:4;GetDetailsRequest_2运行次数:6

勾选 per user的结果:GetDetailsRequest_1运行次数:5;GetDetailsRequest_2运行次数:5

 

users为5,loop次数改为2,按total Executions,Thoughtput_1为1,Thoughtput_1为2:

不勾选 per user的结果:GetDetailsRequest_1运行次数:1;GetDetailsRequest_2运行次数:2

勾选 per user的结果:GetDetailsRequest_1运行次数:5;GetDetailsRequest_2运行次数:10

 

本文摘自:  清明-心若淡定   https://www.cnblogs.com/saryli/p/5948257.html