如何强制在Jmeter服务器中立即停止线程

时间:2016-08-11 15:18:48

标签: jmeter

我在Jmter中设置了分布式服务器 - 单个客户端和Jmeter服务器的数量。 我设置mode=StrippedDiskStore以减少对负载生成的影响。

我使用Stepping Thread Group来控制线程数和时间。 当产生相对较小的负载时,整个解决方案工作正常。

但是当我增加它时 - 在我的情况下每台机器增加1000以上我注意到当测试达到“停止”时间时,在步进线程组中定义,Jmeter开始停止线程,但它不能立即执行,因为我配置它 - 例如在1秒内。

我可以看到Jmeter服务器关闭了大部分线程,但仍然“等待”最后一些线程。当然,我们的测试应用程序超载了请求,响应非常延迟。

但我想“切断”剩下的任何内容并完成测试。 否则我需要等待很长时间 - 最初为场景定义的时间的两倍或更多。如果我通过Jmeter提供的脚本终止服务器或发送关闭消息,那么我就无法从使用StrippedDiskStore模式的Jmter服务器下载结果。

是否有任何配置参数或其他可以帮助我的东西?

我还使用Jmeter服务器监控机器,CPU和内存远低于100%所以我认为这不是问题。

1 个答案:

答案 0 :(得分:2)

您的问题可能是因为您可以使用HTTP Request Defaults设置Http请求的超时时间。

现在关于立即停止,您可以在JMeter GUI中使用Stop Test(仅在脚本编写期间:-))或:

  • 仓/ stoptest.sh

  • 仓/ stoptest.cmd

这将中断采样器(如果是Interruptable,Http Request),但会导致那些采样器被标记为错误(这是常规的)

作为旁注,我不确定StrippedDiskStore是最好的选择。为什么不使用StrippedAsynch?