zoukankan      html  css  js  c++  java
  • Jmeter 定时器

    JMeter提供了六种定时器,下面让我们一起来学习下JMeter的定时器。

    先明确一些概念:
    1)定时器是在每个sampler(采样器)之前执行的,而不是之后;
    是的,你没有看错,不管这个定时器的位置放在sampler之后,还是之下,它都在sampler之前得到执行。
    2)定时器是有作用域的;当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;

    3)如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入;
    4)如果希望在sampler执行完之后再等待,则可使用Test Action;

    一、固定定时器(Constant Timer)
    毫无疑问,这是最重要的定时器。
    需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。
    如下图,固定定时器的时长设为300毫秒
    定时器时长并不计入java请求的响应时间,但被计入“事务控制器”的总时间
    如果你坚持看到这里,并且对loadrunner的think time和pacing这两个概念还有记忆的话,我们可以有答案了:
    对于“java请求”这个sampler来说,定时器相当于loadrunner中的pacing;对于“事务控制器”来说,定时器相当于loadrunner中的think time。

    我们通常说的响应时间,应该大部分情况下是针对某一个具体的sampler(http请求),而不是针对一组sampler组合的事务
    二、高斯随机定时器(Gaussian Random Timer)
    基本同上,只是定时器的延时时间是在指定范围内的正态分布。
    三、均匀随机定时器(Uniform Random Timer)
    同上,延时时间是在指定范围内,并且每个时间取值的概率相同。
    四、固定吞吐量定时器(Constant Throughput Timer)
    可以让JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行。吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组,并且计算吞吐量的依据可以是最近一次线程的执行时延。
    相信这种定时器在特定的场景下,还是很有用的。
    五、同步定时器(Synchronizing Timer)
    在该定时器处,使线程等待,一直到指定的线程个数达到后,再一起释放。可以在瞬间制造出很大的压力。
    没错,它和loadrunner的集合点(rendezvous point)差不多的功能。
    六、BeanShell定时器(BeanShell Timer)
    这个定时器,平时用不上。但实际上,它是最强大的,因为可以自己编程实现想要干的任何事。
    有复杂需求时,就要靠它了。例如,希望在每个线程执行完等待一下,或者希望在某个变量达到指定值的时候等待一下。
  • 相关阅读:
    17.1.2.1 Advantages and Disadvantages of Statement-Based and Row-Based Replication
    17.1.2 Replication Formats
    Setting the Master Configuration on the Slave
    17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment
    17.1.1.8 Setting Up Replication with Existing Data
    17.1.1.7 Setting Up Replication with New Master and Slaves
    17.1.1.6 Creating a Data Snapshot Using Raw Data Files
    列出display的值,并说明它们的作用
    CSS设置DIV居中
    CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?
  • 原文地址:https://www.cnblogs.com/fjy1/p/7755968.html
Copyright © 2011-2022 走看看