JMeter定时器06

前言

在默认情况下,jmeter发送每个请求之间是没有延时的,如果采用默认方式,如果线程数足够大,瞬间就会将服务器压死。再则在实际的业务过程中,请求之间是有一定时间的停顿的

所以在请求之间设置合理的延时是必须的,也是更接近用户真实业务情况。

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

定时器类型

下面我们看下jmeter提供了哪些定时器组件:

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

固定定时器

这是最简单的一种定时器,也是新手最常用的一种方式。下面我们看下其具体设置:

62.png

因其是固定值,在实际模拟用户请求的过程中,会失去灵活性,不推荐大量使用该定时器。

高斯随机定时器

高斯随机定时器,又可以称作正态分布随机定时器,该定时器可以设置在两个请求间随机延时时长。且总的延时是高斯分布(正态分布)的总和(均值:0.0、标准差1.0)。在使用时须指定偏差延时值和偏移值。
。下面我们看下其具体设置:

63.png

例如在访问百度首页,然后输入关键词进行搜索,受网络、人等各种因素影响,有的人打开首页后3s后则进行了搜索,有时则是10s或更多时间,在正常情况下,打开百度然后进行搜索,假设用户间隔在3s-10s之间,从统计学来看,这个间隔时间可能是一个正态分布或接近正态分布。而不是一个固定的常量。

从笔者在日常实践中,也更推荐使用该定时器。能更接近模拟用户实际情况。

Synchronizing Timer

这个定时器应该是大家很期望的,它有在LoadRunner中有一个大家熟悉的名称:集合点。是的,它实现了某种意义上的并发。

65.png

请注意Timeout in milliseconds尽量填写一个合理的值。

Uniform Random Timer

该定时器可以在请求之间设置一个随机延时,每个随机延时有相同的发生概率。总的延时等于随机延时 + 偏移延时值。

64.png

该定时器也是常用之一。

Poisson Random Timer

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

66.png

Constant Throughput Timer

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

注意:吞吐值可以是常量,也可以使用函数来动态生成,已达成更灵活的使用,满足不同的压力场景。

67.png

JSR223 Timer和BeanShell Timer

这两种定时器就不细说了,简单的说就是提供了脚本方式来进行控制,是更为灵活的方式。一般情况下,大家是不会用的。

当然有兴趣的,可以去研究下,增强理解。

总结

本文就各种定时器进行了介绍,并大致介绍了其可能的应用场景。不管是哪种定时器,都需要深入理解业务的情况下,统筹规划使用。以更深入的发挥其作用,模拟好真实应用场景,更好的挖掘性能瓶颈和评估目标服务的性能情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 11,071评论 3 27
  • 知识来源有点复杂,其他测试工作者的博客,百度百科,搜集的电子文档,个人理解等等,限于水平和理解能力,可能有些内容有...
    guiwuzhe阅读 672评论 0 3
  • 互联网压力性能Badboy.Jmeterhttp://itopic.org/jmeter-http-tcp.htm...
    燕京博士阅读 2,937评论 0 20
  • 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需...
    燕京博士阅读 4,205评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139