JMeter(八):定时器

作者: 倔强的潇洒小姐 | 来源:发表于2018-04-09 09:16 被阅读19次

目录

JMeter(一):基础概念
JMeter(二):配置元件
JMeter(三):变量参数化
JMeter(四):监听器
JMeter(五):脚本录制
JMeter(六):断言
Jmeter(七):逻辑控制器

定时器(间隔时间/思考时间)

在默认情况下,jmeter发送每个请求之间是没有延时的,如果线程数足够大,瞬间就会将服务器压死。
在实际的业务过程中,请求之间是有一定时间的停顿的,比如登录网站时输入用户名和密码需要时间(用户会确认下输入的对不对),所以在请求之间设置合理的延时是必须的,也更接近用户的真实业务情况。

在jmeter中,定时器组件提供了系列不同类型的延时控制。合理使用定时器组件,能让你的性能测试更接近真实,更能挖掘出系统的瓶颈和评估系统的性能指标。

基本规则:在每个sampler之前去执行

一、固定定时器

场景应用:性能测试中,根据用户操作预估时间
PS:在实际模拟用户请求的过程中,会失去灵活性,不推荐大量使用

如图登录请求已延时3秒启动

固定定时器设置.png

二、高斯随机定时器

也称作正态分布随机定时器,可以设置在两个请求间随机延时时长,在使用时须指定偏差延时值和偏移值

线程的等待时间:在偏差——(偏差+固定延迟偏移)内随机取值

实际情况中,受网络、人等各种因素影响,访问同一个页面响应时间也会不一样,使用该定时器模拟操作,更接近用户实际情况

如图,设置了4个线程数

高斯随机定时器.png

三、Synchronizing Timer

同步定时器,Jmeter集合点是通过这个定时器来实现的,也就是人为并发

PS:集合点用于同步虚拟用户恰好在某一时刻执行任务,确保用户更准确、集中的进行某个指定操作,达到更理想的负载模拟效果,更有针对性地对某个可能存在性能问题的模糊或子系统施压,以便找到性能瓶颈。

参数说明

  • Number of Simulated Users to Group by:每次释放的线程数量
    • 设置为0,等同于设置为线程租中的线程数量
    • 设置为10,表示等待10个用户到达后,再一起并发请求
  • Timeout in milliseconds:默认为0
    • 设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。
    • 大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。

注意:
如果设置Timeout in milliseconds为0,且线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。

同步定时器设置.png

如上图:
(1)在等待时间之前10个线程全部到达,那就全部释放
比如10个用户同时提交订单,当虚拟用户没有达到10个时,通过此设置可以让用户暂停下来,处于等待状态,当10个全部到达后提交订单


PS:集合点也是相对的,即使进行了设置,假设1000个用户提交订单也无法在几毫秒内完成,可能需要几十毫秒甚至几百毫秒完成。但不进行设置,1000个用户提交订单可能在几秒甚至几十秒才完成


(2)超过1000毫秒之后释放线程数:假如9个线程已经到达,还有一个未到达,时间到达1000毫秒后就不管未到达的线程了,直接进入下一步的并发

场景应用:0点秒杀

四、Uniform Random Timer

在请求之间设置随机延时,每个随机延时有相同的发生概率。总的延时等于随机延时 + 偏移延时值。
如图,总延时=random(0,200)+100,取值在100至300之间,跟高斯随机定时器有一点区别

Uniform Random Timer

五、Poisson Random Timer

类似高斯随机定时器,只是其随机延时值发生在一个特定的值,总的延时值呈现泊松分布。

Poisson Random Timer.png

六、Constant Throughput Timer

通过控制每分钟请求数(即控制吞吐的方式)来控制是否进行延时暂停。
例如,当我们需要使服务端长期处于一定的压力下时,可以通过该定时器来控制吞吐。

PS:吞吐值可以是常量,也可以使用函数来动态生成,满足不同的压力场景

Constant Throughput Timer.png

相关文章

  • JMeter(八):定时器

    目录 JMeter(一):基础概念JMeter(二):配置元件JMeter(三):变量参数化JMeter(四):监...

  • 13. Jmeter-定时器

    Jmeter-定时器介绍与使用 固定定时器 Uniform Random Timer Precise Throug...

  • Jmeter(二):定时器Synchronizing Timer

    jmeter 中使用同步定时器 Synchronizing Timer实现 LoadRunner 中集合点的功能。...

  • 【自动化】Jmeter自动化步骤

    一、Jmeter组成: 测试计划:断言,定时器,监视器,配置元件,前置处理器,后置处理器 线程组:断言,定时器,监...

  • Jmeter定时器

    1、Gaussian Random Timer(高斯定时器) 参数说明 2、Constant Timer 参数说明...

  • 6,JMeter集合点、定时并发

    定时器:JMeter使用定时器用于操作与操作之前设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段,类...

  • JMeter专题系列(六)集合点

    JMeter也有像LR中的集合点; JMeter里面的集合点是通过添加定时器来完成。 注意:集合点的位置一定要在S...

  • 【第七天下】jmeter元件详解之定时器

    Jmeter中的定时器一般被我们用来设置延迟与同步定时器的优先级高于取样器(Sampler)在同一控制器下有多个定...

  • JMeter之定时器

    定时器的作用范围: 在执行Sampler之前,优先处理Sampler子元素的定时器+Sampler同级和上级范围内...

  • jmeter(七)定时器

    知识来源有点复杂,其他测试工作者的博客,百度百科,搜集的电子文档,个人理解等等,限于水平和理解能力,可能有些内容有...

网友评论

    本文标题:JMeter(八):定时器

    本文链接:https://www.haomeiwen.com/subject/gpyscftx.html