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. day 67 django 之ORM 基础安装

    一 ORM的基础部分 1 ORM的概念 对象关系映射(Object Relational Mapping(映射),简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 2   ...

  2. Vue中 v-html 与 v-text 的区别

    解析的效果:

  3. kbmMWLog输出日志到控制台或指定Grid

    刚看到有人在kbmMW News问,有没有简单的方法,输出日志到Console窗口或者一个实际的Grid? 作者对此做回复,大意是这样: 对于输出日志到一个Memo,使用TkbmMWStringsLo ...

  4. Ubuntu16.04下通过tar.gz包安装MySQL5.5.52

    1.下载  tar.gz包 : https://dev.mysql.com/downloads/mysql/ 2. // 安装依赖 sudo apt-get install libaio-dev // ...

  5. jdk安装和环境配置

    public class test{ public static void main(String[] args){ System.out.println("hello world" ...

  6. threejs绘制顺序

    renderer.sortObjects = false; 然后,scene.add(),就可以先add先画了,否则add的顺序和渲染出来的顺序不一定一致.

  7. 清除chrome浏览器HSTS缓存

    如果你的网站启用了HSTS 在chrome中会用缓存效果,即使你的站点取消了HSTS,下次访问时,仍旧会自动给你重定向到HSTS. 那么如何清除 HSTS呢? chrome://net-interna ...

  8. 构建NDK交叉编译链

    有时我们需要单独编译个c文件,生成一个ELF在Android上面跑,NDK提供了一个 make-standalone-toolchain.sh 脚本,用于生成一套特定平台的交叉编译工具链 使用方法如下 ...

  9. C/C++内存泄漏检测 —— memleax

    memleax是个开源项目,原理是通过注入hook目标进程的malloc(new也是用的malloc)内存分配函数,在指定时间未释放则认为内存泄漏.优点是不需要重启,attach到目标进程. gith ...

  10. Python中random模块在主函数中设置随机种子是否对于调用的函数中的随机值产生影响?

    一个问题,加入我有一个工程文件,在main函数里面调用random模块,设置随机种子,主函数中的随机种子的设置是否会影响主函数所调用的函数中的随机值? 实际上这个问题非常重要,比如你在跑网络的时候,初 ...