【JMeter】 使用Synchronizing Timer设置请求集合点,实现绝对并发

布局设置说明

1172048-20180322125355668-1474182680.png

参数说明:

Number of Simulated Users to Group

每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。

Timeout in milliseconds

如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。默认为0

1172048-20180322152839153-1825845119.png

使用时需要注意的点
  • 如果设置Timeout in milliseconds为0,且线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。
  • Synchronizing timer 仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保"Number of Simultaneous Users to Group by"中设置的值不大于它所在线程组包含的用户数。

(原文:Synchronizing timer blocks only within one JVM, so if using Distributed testing ensure you never set "Number of Simultaneous Users to Group by" to a value superior to the number of users of its containing Thread group considering 1 injector only)

集合点作用域

  • Synchronizing Timer是在每个sampler(采样器)之前执行的,而不是之后,不管这个定时器的位置放在sampler之后,还是之前,如下,执行HTTP请求1和HTTP请求2前都会执行同步定时器

1172048-20180322153240344-1802077145.png

  • 作用域:当执行一个sampler之前时,和sampler处于相同作用域的定时器都会被执行;

1172048-20180322125444324-1519551243.png

  • 如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入

定时器仅仅对HTTP请求2起作用,即仅在HTTP请求2执行前执行定时器,和HTTP请求1无关

实际运行

如上,添加相关请求,结果树等,进行必要设置后,运行查看效果

通过结果树可以看到,请求是批量执行的,其中有两个请求在集合点超时之后运行
1172048-20180322152543209-1247148318.png

点击右上角的感叹号可以查看运行日志,可以看到集合点等待超时的warning日志
1172048-20180322152150710-49309831.png

1172048-20180322130051516-1223213039.png

转载于:https://www.cnblogs.com/Detector/p/8622935.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值