定时器
(1)固定定时器
设置一个在每次请求前的一个等待时间,这个时间不会被计入到sample的响应时间里,但如果你添加了事务控制器,这个时间会算到事务控制器的时间里
(2)高斯定时器
计算公式参考:Math.abs((this.random.nextGaussian() * 300) + 100)
下面这种,延迟时间会在100~400之间。
(3)固定吞吐量定时器(Constant Throughput Timer)
可以设置每分钟吞吐量,如果你设置的6.0,那么启动之后,会每隔10秒(60/6)去启动下一个sample 。
(4)JSR223 Timer
在jemter最新的版本中,新增了这个定时器,可以这么理解,这个定时器相当于BeanShell定时器的“父集”,它可以使用java、JavaScript、beanshell等多种语言去实现你希望完成的事情;
(5)BeanShell定时器(BeanShell Timer)
这个定时器很强大,你可以自己编程实现其他自己想要实现的定时功能;编程语言支持Java,js,beanshell 等。
beanshell 这块会在另一篇博文里面同一说明。
(6)Poisson Random Timer
和高斯定时器差不多,这个定时器在每个线程请求之前按随机的时间停顿,大部分的时间间隔出现在一个特定的值,总的延迟就是泊松分布值和偏移值之和。
(7)Uniform Random Timer 均匀随机定时器
该定时器在每个请求之前暂停随机的时间,每个时间间隔都有相同发生的概率,总的暂停时间为0至Random Delay设置的值中的随机数加上Constant Delay Offset的值。
(8)Synchronizing Timer 同步定时器
这个定时器可以用来做并发测试,在某个点设置同步定时器,等待到多少个线程数的时候一起请求。
和loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。
例:我设置了10个线程数执行,
在启动完请求2的10个请求后,等待了1秒钟,然后再执行的请求1.
放置位置:
1、若定时器放置在和sample同一级,那么作用域为所有的sample
2、若放于某个sample子节点中,那么只作用于此sample