Jmeter-定时器介绍与使用

  • 固定定时器
  • Uniform Random Timer
  • Precise Throughput Timer
  • Constant Throughput Timer
  • 高斯随机定时器
  • JSR223 Timer
  • Poisson Random Timer
  • Synchronizing Timer
  • BeanShell Timer

固定定时器

如果要让每个线程在请求​​之间暂停相同的时间,请使用此计时器。

实例:

1、添加线程组,添加HTTP请求,添加固定定时器,线程延迟为3000毫秒,添加查看结果树,运行。可以发现3s后请求才发送出去。


Uniform Random Timer

让线程暂停一个随机时间。由两部分组成:

  • Random Delay Maximum   随机延迟部分
  • Constant Delay Offset  固定延迟部分

实例:

1、添加线程组,添加 Uniform Random Timer ,添加HTTP请求,设置固定延迟部分未2000毫秒,随机延迟部分在2000ms。也就是线程延迟在2-4s之间

Precise Throughput Timer

此计时器会引入可变的暂停时间,计算该暂停时间的目的是使总吞吐量(例如,每分钟的样本数)尽可能接近给定的数字。 当然,如果服务器不能够处理它,或者如果其他计时器,或者没有足够的线程,或者耗时的测试元素阻止了吞吐量,那么吞吐量将会降低。

Constant Throughput Timer

该计时器引入了可变的暂停,其计算目的是使总吞吐量(以每分钟的样本数为单位)尽可能接近给定的数字。 当然,如果服务器无法处理吞吐量,或者其他计时器或耗时的测试元素阻止了吞吐量,则吞吐量会降低。(有点像Precise Throughput Timer)

高斯随机定时器

生成一个呈高斯分布的时间间隔。该计时器将每个线程请求暂停一段随机的时间,大多数时间间隔都在某个特定值附近发生。 总延迟是高斯分布值(平均值为0.0,标准偏差为1.0)乘以您指定的偏差值与偏移值之和。 解释它的另一种方式是,在高斯随机计时器中,恒定偏移周围的变化具有高斯曲线分布。

  • Deviation 偏差
  • Constant Delay Offset 固定延迟偏移

JSR223 Timer

JSR223 Timer传送门

Poisson Random Timer

设置线程延迟时间呈松泊分布Poisson Random Timer 传送门

Synchronizing Timer

 SyncTimer的目的是阻塞线程,直到X个线程被阻塞,然后它们全部被释放。

实例:

1、添加线程组,设置线程组为10,Ramp-up Period为2,Number of Simultaneous Users to Group by设置为10,添加HTTP请求,聚合报告,可以看到10个HTTP请求是一起生成的。

BeanShell Timer

我们可以使用beanshell Timer来设置线程延延迟。

BeanShell Timer实例

运行结果
我们在用户自定义变量中定义一个sleepTime变量,BeanShell Timer中引用该变量。让线程延迟3s。运行结果如下所示:


软件测试汪简书地址
软件测试汪博客地址

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

转载请注意出处,谢谢合作

13. Jmeter-定时器的更多相关文章

  1. JMeter定时器设置延迟与同步

    JMeter定时器一般用来设置延迟与同步.它的作用域和优先级如下: 定时器的优先级高于Sampler. 在同一作用域(比如控制器下)有多个定时器存在,每个定时器都会执行. 在某一Sampler节点下的 ...

  2. jmeter - 定时器

    jmeter提供了很多元件,帮助我们更好的完成各种场景的性能测试,其中,定时器(timer)是很重要的一个元件,最新的3.0版本jemter提供了9种定时器(之前6种),下面一一介绍: 一.定时器的作 ...

  3. JMeter—定时器(八)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第三节定时器 JMeter中的定时器一般用来设置延迟与同步.定时器的执行优先级高于取样器,在同一作用域下有多个定 ...

  4. jmeter定时器

    一.定时器的作用 1.定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面): 2.当执行一个sampler之前时,所有当前作用域内的定时器都会被执 ...

  5. 13 jmeter性能测试实战--FTP程序

    需求 上传一个文件到服务器(put),下载一个文件到本地(get). 测试步骤 1.创建一个线程组. 2.线程组-->添加-->配置元件-->FTP请求缺省值(可有可无,相当于给“服 ...

  6. JMeter 定时器(Synchronizing Timer)之集合点应用

    性能测试中我们经常提到一个概念就是“并发”,其实在实际真实的性能测试中是不存在真正的并发的.为了更真实的模拟对一个请求的并发测试场景,我们通常设置一个集合点,JMeter中提供了这样的一个功能设置. ...

  7. JMETER 定时器 之 常数吞吐量定时器

    定时器: 默认情况下,Jmeter线程在发送请求之间没有间歇.建议为线程组添加某种定时器,以便设定请求之间应该隔多长时间.如果测试人员不设定这种延迟,Jmeter可能会在短时间内产生大量访问请求,导致 ...

  8. Jmeter(十三) - 从入门到精通 - JMeter定时器 - 上篇(详解教程)

    1.简介 用户实际操作时,并非是连续点击,而是存在很多停顿的情况,例如:用户需要时间阅读文字内容.填表.或者查找正确的链接等.为了模拟用户实际情况,在性能测试中我们需要考虑思考时间.若不认真考虑思考时 ...

  9. Jmeter(十四) - 从入门到精通 - JMeter定时器 - 下篇(详解教程)

    1.简介 用户实际操作时,并非是连续点击,而是存在很多停顿的情况,例如:用户需要时间阅读文字内容.填表.或者查找正确的链接等.为了模拟用户实际情况,在性能测试中我们需要考虑思考时间.若不认真考虑思考时 ...

  10. 三、Jmeter 定时器

    首先需要清楚Jmeter中各个元件的执行顺序: 元件的执行顺序 了解了元件有作用域之后,来看看元件的执行顺序,元件执行顺序的规则很简单,在同一作用域名范围内,测试计划中的元件按照如下顺序执行. (1) ...

随机推荐

  1. django的orm操作优化

    django的orm操作优化 models.py from django.db import models class Author(models.Model): name = models.Char ...

  2. linux查看进程数

    命令行: $ ps -ef | wc -l 如果想匹配某个关键词的话,加上grep,下面命令是匹配关键词 “XXX”,并统计含有该关键词的进程数 $ ps -ef | grep XXX | wc -l

  3. k8s入门教程

    1. k8s概述 Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,方便我们在服务器集群中管理我们容器化应用. 教程主要介绍怎么使用阿里云容器服务(kubernetes版本 ...

  4. 关于微信小程序的一些总结

    mpvue? {{}} 在vue和小程序中的区别? 01 小程序中{{}}和vue中的{{}}用法基本一致,可以显示data中的数据,可以写表达式 不一样的地方? 01 小程序的{{}}可以写在属性中 ...

  5. Maven POM中的各种scope的行为总结

    compile:默认的scope.任何定义在compile scope下的依赖将会在所有的class paths下可用.maven工程会将其打包到最终的artifact中.如果你构建一个WAR类型的a ...

  6. js中给数组添加元素的方法有哪些

    unshift:将参数添加到原数组开头,并返回数组的长度 pop:删除原数组最后一项,并返回删除元素的值:如果数组为空则返回undefined push:将参数添加到原数组末尾,并返回数组的长度 co ...

  7. Jenkins服务配置容易忽略的事项

    git客户端必须安装(可直接yum安装) maven安装的版本(Jenkins上用其插件较稳健,亲测maven3.5是坑) settings.xml文件必要时,指定对应路径(一般选用Jenkins默认 ...

  8. https 配置

    参考:https://www.cnblogs.com/tanghuachun/p/9951849.html 1.将pfx文件拷贝到application.properties同级目录下 2.添加配置文 ...

  9. 【leetcode】905. Sort Array By Parity

    题目如下: 解题思路:本题和[leetcode]75. Sort Colors类似,但是没有要求在输入数组本身修改,所以难度降低了.引入一个新的数组,然后遍历输入数组,如果数组元素是是偶数,插入到新数 ...

  10. 知道一个数组某个index对应的值 不知道下标的情况下删除该值

    for (index,item) in Arr.enumerated() { if item == item { Arr.remove(at: index) } } 更好的方法是用数组的filter尾 ...