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

jmeter之Throughput Controller的更多相关文章

  1. JMeter之Throughput Controller详解(实验)

    Throughput Contoller,直译是吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关.(注:用Constant Throughput Timer可以控制吞吐量. ...

  2. JMeter之Throughput Controller吞吐量控制器

    吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关.(注:用Constant Throughput Timer可以控制吞吐量tps) 作用:控制其子节点的执行次数与负载比例分 ...

  3. 【JMeter_18】JMeter逻辑控制器__吞吐量控制器<Throughput Controller>

    吞吐量控制器<Throughput Controller> 业务逻辑: 他的实际作用似乎跟吞吐量扯不上什么关系.就是单纯的控制控制器下的子节点被执行的次数或被执行比列,该控制器默认为多线程 ...

  4. jmeter 逻辑控制器Logic Controller详解

    Jmeter之逻辑控制器(Logic Controller) 前言: 1. Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in w ...

  5. Throughput Controller

    吞吐量控制器(Throughput Controller)介绍 作用:控制其子节点的执行次数与负载比例分配 Total Executions: 整个测试计划中的总执行次数 Percent Execut ...

  6. JMeter之If Controller深究二

    1.背景 接上文JMeter之If Controller深究一,在上文中提到压测采用的是JMeter3.1版本,本篇继续深究.基本确定问题原因后,宝路这边又做了不同版本的JMeter对比实验,这次加入 ...

  7. Jmeter系列(55)- 详解 Throughput Controller 吞吐量控制器

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 简单介绍 自行调整该控制器下的子项的执 ...

  8. jmeter throughput controller

    工作方式:可以按规定次数执行,也可以选择按百分比执行,其中的百分比必须是10,20,30类似的整数. 使用场景:可以随机的去按百分比浏览网址. 以下是具体脚本:

  9. Jmeter Constant Throughput Timer 使用

    Jmeter提供了一个非常有用的定时器,称为Constant Throughput Timer (常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量. 右键点击fnng.cnblo ...

随机推荐

  1. python点滴:读取和整合文件夹下的所有文件

    当我们想读取一个文件夹下的多个文件,并且将所有文件的内容整合成一个文件,应该怎么做? 基本的思路是:写一个专门的函数实现以上两个功能.主要用到的命令包括os.listdir().codecs.open ...

  2. ‘’.join(列表)--列表转化为一个语句。 strip()删除掉str中的左右的空白字符

    1和2相比,删除掉了str左右的空白字符,2和3相比,删除掉了上下的空白字符

  3. 2017MySQL中文索引解决办法 自然语言处理(N-gram parser)

    问题:长期以来MYSQL搜索对于中文来说不太理想,InnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,但是用“初级”一词在“我是一名初级开发者”搜索时是无法出现结果的,原因在于 ...

  4. 17 多校1 Add More Zero 水题

    Problem Description There is a youngster known for amateur propositions concerning several mathemati ...

  5. JavaScript 是如何工作的: 事件循环和异步编程的崛起 + 5个如何更好的使用 async/await 编码的技巧 - 学习笔记

    那么,谁会告诉 JS 引擎去执行你的程序?事实上,JS 引擎不是单独运行的 —— 它运行在一个宿主环境中,对于大多数开发者来说就是典型的浏览器和 Node.js.实际上,如今,JavaScript 被 ...

  6. python开发day02

    一 while循环 while 条件 代码块(循环体)  #:  判断条件是否为真,如果是真,则执行代码块, 然后再次回头判断条件是否为真,如果为真,则只执行代码块.......知道循环的判断出代码为 ...

  7. NodeServices

    NodeServices https://www.cnblogs.com/stulzq/p/10535310.html 一.前言 在 .NET Framework 时,我们可以通过V8.NET等组件来 ...

  8. 2017.4.5 Strom

    Strom是分布式实时计算系统,它对于实时计算的意义类似于hadoop对于批处理的意义.与Storm关系密切的语言:核心代码用clojure书写,实用程序用python开发,使用java开发拓扑. S ...

  9. UV纹理+修改器:VertexWeightEdit+修改器:Mask遮罩

    UV纹理+修改器: VertexWeightEdit+修改器: Mask遮罩 基本流程, 如下图,准备地图一份, 黑白色即可. 纹理使用颜色绘制权重. 白色为1, 黑色为0. 新增球体, 细分多次, ...

  10. acm 2084

    ////////////////////////////////////////////////////////////////////////////////#include<iostream ...