zoukankan      html  css  js  c++  java
  • JMeter之Throughput Controller详解(实验)

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

    Throughput Contoller有两种模式:Total ExecutionsPercent Executions

    参数说明如下:

    • Total Executions:按吞吐量值来指定执行次数。选择此模式,吞吐量值的单位为“次”。
    •  Percent Executions:按百分比来指定执行次数。选择此模式,吞吐量值的单位为“%”。
    • 吞吐量:该值可以是任意整数,如果小于等于0,则一次也不执行。
    • Per User:如果勾选该项则按虚拟用户数(线程数)来计算执行次数,如果没有选中该项则按所有虚拟用户数来计算执行次数。

    那么如何计算Throughput Controller其下的执行次数?

    下面添加循环控制器,在Throughput Controller下添加Debug Sampler元件来做实验:

    实验一:测试按Percent Executions模式执行次数

    TestCase1:线程数3,线程循环次数2,循环控制器循环次数2,吞吐量值50%,勾选Per User

    测试结果:查看“聚合报告”里Debug Sampler执行次数,Debug Sampler=6,即执行了6次,如图:

    TestCase2:线程数3,线程循环次数2,循环控制器循环次数2,吞吐量值50%,不勾选Per User

    测试结果,查看“聚合报告”里Debug Sampler执行次数,Debug Sampler=6,即执行了6次,如图:

    TestCase1与TestCase2测试结果对比表:

    线程数

    线程组循环次数

    控制器循环次数

    模式

    吞吐量值

    Per User

    执行次数

    3

    2

    2

    Percent Executions

    50

    勾选

    6

    3

    2

    2

    Percent Executions

    50

    不勾选

    6

    由此,得出结论:

    无论Per User是否勾选,按Percent Executions模式的执行次数都不受Per User影响,Percent Executions模式的执行次数=线程数*循环次数*吞吐量%。

    PS:循环次数=线程组循环次数*循环控制器循环次数。

    实验二:测试按Total Executions模式执行次数

     同样,按照实验一的初始条件不变:线程数3,线程循环次数2,循环控制器循环次数2,然后改变吞吐量值和是否勾选Per User来做实验。

    测试的实验结果如下表:

    线程数

    线程组循环次数

    控制器循环次数

    模式

    吞吐量值

    Per User

    执行次数

    3

    2

    2

    Total Executions

    13

    勾选

    12

    3

    2

    2

    Total Executions

    13

    不勾选

    12

    3

    2

    2

    Total Executions

    12

    勾选

    12

    3

    2

    2

    Total Executions

    12

    不勾选

    12

    3

    2

    2

    Total Executions

    11

    勾选

    12

    3

    2

    2

    Total Executions

    11

    不勾选

    11

    3

    2

    2

    Total Executions

    10

    勾选

    12

    3

    2

    2

    Total Executions

    10

    不勾选

    10

    3

    2

    2

    Total Executions

    5

    勾选

    12

    3

    2

    2

    Total Executions

    5

    不勾选

    5

    3

    2

    2

    Total Executions

    4

    勾选

    12

    3

    2

    2

    Total Executions

    4

    不勾选

    4

    3

    2

    2

    Total Executions

    3

    勾选

    9

    3

    2

    2

    Total Executions

    3

    不勾选

    3

    3

    2

    2

    Total Executions

    2

    勾选

    6

    3

    2

    2

    Total Executions

    2

    不勾选

    2

     分析数据,得出结论:

    • 当勾选Per User时:
    1. 线程数*循环次数>=线程数*吞吐量时,Total Executions模式的执行次数=线程数*吞吐量。
    2. 当线程数*循环次数<线程数*吞吐量时,Total Executions模式的执行次数=当线程数*循环次数。
    • 当不勾选Per User时:
    1. 线程数*循环次数<=吞吐量时,Total Executions模式的执行次数=线程数*循环次数。
    2. 当线程数*循环次数>吞吐量时,Total Executions模式的执行次数=吞吐量。

    文章来源:https://www.cnblogs.com/luihengk/p/7407186.html

  • 相关阅读:
    C语言编程的两个工具:valgrind和core
    C语言动态库和静态库的使用及实践
    编译安装pgbouncer-checking for OpenSSL... configure: error: not found
    automake使用
    make笔记
    GCC命令
    gcc中关于静态库和动态库使用(转)
    zookeeper的c API 单线程与多线程问题 cli_st和cli_mt
    zookeeper数据一致性与paxos算法
    Deepgreen DB简介(转)
  • 原文地址:https://www.cnblogs.com/lansan0701/p/9241888.html
Copyright © 2011-2022 走看看