通过具有持续时间的线程使用同步计时器

Using Synchronizing Timer by threads with Duration

当我使用由线程 (Number of Simultaneous Users to Group by) 设置的 Synchronizing Timer 时,它运行良好,除非与线程组的持续时间一起使用,

当它一起使用时测试挂起,可能是因为同步问题,如文档所述:

If timeout in milliseconds is set to 0 and number of threads never reaches "Number of Simultaneous Users to Group by" then Test will pause infinitely. Only a forced stop will stop it. Setting Timeout in milliseconds is an option to consider in this case.

此外,Runtime Controller 也不是限制持续时间的有效替代品,

是否有其他方法可以限制测试持续时间,但仍然使用某种线程同步?

当测试持续时间结束并停止所有线程时,我可以使用 JSR233 采样器添加一个钩子吗?

我正在考虑使用 Precise Throughput Timer,但对于这个特定要求来说它似乎过于复杂。

编辑

如果我在 Timeout in milliseconds 中输入一个高于正常流程中预期值的值,如 10 秒,10000,然后在 10 秒后测试停止,我可以使测试不挂起,但我不确定它能否完全解决问题。

这看起来像一个停止测试的错误,你应该向复制者报告它。

我认为未检测到测试结束,应该检测到。

编辑:

您创建了问题:

已修复并将在 JMeter 5.0 中可用