【发布时间】:2017-02-14 10:44:40
【问题描述】:
我想等待所有线程,直到每个线程完成其在线程组中的任务,并在同一时间再次与所有线程开始新的迭代。
即对于每次迭代,我都想确保所有线程都在上次迭代中完成。
请根据我的要求提供您的意见。
【问题讨论】:
标签: jmeter
我想等待所有线程,直到每个线程完成其在线程组中的任务,并在同一时间再次与所有线程开始新的迭代。
即对于每次迭代,我都想确保所有线程都在上次迭代中完成。
请根据我的要求提供您的意见。
【问题讨论】:
标签: jmeter
您可以使用Synchronizing Timer 来实现它。把它放在脚本中a child of the last Sampler,这样所有线程都会等待其他线程到达最后一步。
设置Number of Simultaneous Users to Group by为0,定时器会等待current Thread Group中配置的number of threads。
警告:这将导致服务器突然加载(峰值),因为所有线程同时开始最后一步。
来自 JMeter 文档:
请注意,计时器在范围内的每个采样器之前处理 他们被发现;如果同一范围内有多个计时器, 所有计时器将在每个采样器之前处理。定时器只是 与采样器一起处理。一个不在 根本不会处理与采样器相同的范围。
要将计时器应用于单个采样器,请将计时器添加为 采样器。计时器将在采样器执行之前应用。至 在采样器之后应用计时器,或者将其添加到下一个采样器,或者 将其添加为 Test Action Sampler 的子项。
因此,尝试将 Synchronizing Timer 保留为 Test Action sampler 的子代 或 添加 Debug Sampler 并将 Synchronizing Timer 添加为子代,以避免如中所述的不需要的尖峰警告。
参考资料:
【讨论】: