Jmeter定时器

定时器是在每个sampler之前执行的,无论定时器位置在sampler之前还是子节点下面当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;

如果希望定时器仅对其中一个sampler起作用,则把定时器作为其子节点加入;

注意:定时器的时间不会计入单个sampler的响应时间,但会计入事务控制器的时间,如果有使用事务控制器

对于事务控制器来说,定时器相当于loadrunner中的think time

图片

定时器的作用

BeanShell定时器(BeanShell Timer)

图片

参数说明:

Reset Interpreter:每次迭代是否重置解析器,默认为false;在长时间运行的脚本中建议设置为true。

Paremeters:BeanShell脚本的入参。入参可以是单个变量;也可以是数组,若是字符串数组,两个元素之间用空格隔开;也可以是常量。

File Name:BeanShell脚本可以从脚本文件中读取。

Script:在Script区直接写BeanShell脚本。在脚本中可以调用Jmeter的运行属性。

固定吞吐量定时器(Constant Throughput Timer)

图片

该计时器自行暂停,计算来达到总吞吐量尽可能的接近给定的数字,当然,如果服务器本身有瓶颈,或者其他耗时的测试元件阻碍了它,吞吐量仍然不可避免的会降低。

吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组,并且计算吞吐量的依据可以是最近一次线程的执行时延。

Calculate Throughput based on:

有5个选项,分别是:

this thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以该线程的数量

all active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。

all active threads in current thread group:设置的Target throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和all active threads选项的效果完全相同。

all active threads (shared ):

与All active threads的选项基本相同。唯一区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。

all cative threads in current thread group (shared ):与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。

JSR223定时器(JSR223 Timer)

图片

这个定时器相当于BeanShell定时器的“父集”,它可以使用beanshell、java、javascript、groovy等多种语言去实现你希望完成的事情。

泊松随机定时器(Poisson Random Timer)

图片

这个定时器在每个线程请求之前按随机的时间停顿,大部分的时间间隔出现在一个特定的值,总的延迟就是泊松分布值和偏移值之和。

上面表示暂停时间会分布在 100到400毫秒之间:

Lambda(in milliseconds):兰布达值(以毫秒为单位);

Constant Delay Offset(in milliseconds):固定延迟偏移(以毫秒为单位),暂停的毫秒数减去随机延迟的毫秒数。

同步定时器(Synchronizing Timer)

图片

这个定时器和Loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。

Number of Simulated Users to Group by:设置并发用户数,如果设为0,则代表线程组的线程数。

Timeout in milliseconds:设置并发用户数等待的时间,如果为 0 将一直等待,直到达到前面设置的线程数量。

均匀随机定时器(Uniform Random Timer)

图片

和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和。

上面表示的是延迟时间为 0到100之间的随机数 + 50 毫秒:

Random Delay Maximum(in milliseconds):最大随机延迟时间(ms)

Constant Delay Offset(in milliseconds):固定延迟时间(ms)

固定定时器(Constant Timer)

图片

作用有:确保一些些请求的数据建立的先后顺序;获取服务端某些数据之前加固定定时器,用以确保之前的请求已经在服务端生成了数据;其他网络解释:它可以控制请求的时间间隔,延迟请求到达服务器的时间,模拟真实用户的行为。

在特定场景需求下,不需要较大的tps,而是控制特定的处理能力再去观察系统稳定性

对于“事务控制器”来说,定时器相当于loadrunner中的think time(思考时间:实际操作中,模拟真实用户在操作过程中的等待时间)。

高斯随机定时器(Gaussian Random Timer)

图片

如需要每个线程在请求前按随机时间停顿,那么使用这个定时器,上图表示暂停时间会分布在100到400毫秒之间,计算公式参考:Math.abs((this.random.nextGaussian() * 300) + 100)

学习资料/接口/项目等需要领取:需要+\/ →it7411

最新软件测试+进阶测试全套【自学资料包】

  • 32
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈伟-GodGreat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值