第五篇:JMeter 定时器

前言

在默认状况下,jmeter 发送每一个请求之间是没有延时的,若是采用默认方式,若是线程数足够大,瞬间就会将服务器压死。再则在实际的业务过程当中,请求之间是有必定时间的停顿的因此在请求之间设置合理的延时是必须的,也是更接近用户真实业务状况。在 jmeter 中,定时器组件提供了系列不一样类型的延时控制。合理使用定时器组件,能让你的性能测试更接近真实,更能挖掘出系统的瓶颈和评估系统的性能指标。服务器

定时器类型

一、固定定时器

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

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

二、高斯随机定时器

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

例如在访问百度首页,而后输入关键词进行搜索,受网络、人等各类因素影响,有的人打开首页后 3s 后则进行了搜索,有时则是 10s或更多时间,在正常状况下,打开百度而后进行搜索,假设用户间隔在 3s-10s 之间,从统计学来看,这个间隔时间多是一个正态分布或接近正态分布。而不是一个固定的常量。从笔者在平常实践中,也更推荐使用该定时器。能更接近模拟用户实际状况。函数

三、Synchronizing Timer

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

请注意 Timeout in milliseconds 尽可能填写一个合理的值。测试

四、Uniform Random Timer

该定时器能够在请求之间设置一个随机延时,每一个随机延时有相同的发生几率。总的延时等于随机延时 + 偏移延时值。该定时器也是经常使用之一。spa

  五、Poisson Random Timer

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

 六、Constant Throughput Timer

经过控制每分钟请求数(即控制吞吐的方式)来控制是否进行延时暂停。
例如,当咱们须要使服务端长期处于必定的压力下时,能够经过该定时器来控制吞吐。
注意:吞吐值能够是常量,也可使用函数来动态生成,已达成更灵活的使用,知足不一样的压力场景。3d

 七、JSr R223 Timer   和  BeanShell Timer

这两种定时器就不细说了,简单的说就是提供了脚本方式来进行控制,是更为灵活的方式。通常状况下,你们是不会用的。固然有兴趣的,能够去研究下,加强理解。

总结本文就各类定时器进行了介绍,并大体介绍了其可能的应用场景。不论是哪一种定时器,都须要深刻理解业务的状况下,统筹规划使用。以更深刻的发挥其做用,模拟好真实应用场景,更好的挖掘性能瓶颈和评估目标服务的性能状况。

相关文章
相关标签/搜索