JMeter测试在分配模式下持续时间结束后不停止

JMeter测试在分配模式下持续时间结束后不停止,jmeter,jmeter-plugins,jmeter-5.0,Jmeter,Jmeter Plugins,Jmeter 5.0,我正在使用基本线程组和HTTP采样器运行一个非常简单的JMeter测试。为执行设置的持续时间为10分钟(600秒)。在此处输入图像描述 在JMeter GUI和CLI模式下,测试在我的本地计算机上成功运行并自行停止(10分钟后) 但是,当我在分布式模式下运行同一个测试时,该测试不会自行停止并挂起。我一直在观察这个问题,主要是线程数在200以上 我已覆盖的一些JMeter属性: "server.rmi.ssl.disable": "true", "

我正在使用基本线程组和HTTP采样器运行一个非常简单的JMeter测试。为执行设置的持续时间为10分钟(600秒)。在此处输入图像描述

在JMeter GUI和CLI模式下,测试在我的本地计算机上成功运行并自行停止(10分钟后)

但是,当我在分布式模式下运行同一个测试时,该测试不会自行停止并挂起。我一直在观察这个问题,主要是线程数在200以上

我已覆盖的一些JMeter属性:

"server.rmi.ssl.disable": "true",
"jmeterengine.nongui.maxport": JMETER_EXEC_PORT,
"jmeterengine.nongui.port": JMETER_EXEC_PORT,
"client.tries": str(3),
"client.retries_delay": str(5000),
"client.rmi.localport": CLIENT_RMI_LOCALPORT,
"server.rmi.localport": SERVER_RMI_LOCALPORT,
"server_port": SERVER_PORT,
"server.exitaftertest": "true",
"jmeterengine.stopfail.system.exit": "true",
"jmeterengine.remote.system.exit": "true",
"jmeterengine.force.system.exit": "true",
"jmeter.save.saveservice.output_format": "csv",
"jmeter.save.saveservice.autoflush": "true",
"beanshell.server.file":  "./extras/startup.bsh",
"jmeter.save.saveservice.connect_time": "true",
"jpgc.repo.sendstats": "false",
下面是我分别用于JMeter客户端和服务器的JMeter CLI命令:

// JMeter Client
jmeter.sh -n -f -t {testPlan} -j jmeter.log -l report.csv -LINFO -Lorg.apache.http=DEBUG -Lorg.apache.http.wire=ERROR -Ljmeter.engine=DEBUG -X -R {serverIPs}

// JMeter Server
jmeter.sh -s -Jbeanshell.server.port={beanshellServerPort}
  • 确保测试在指定时间后结束的任何帮助指针 持续时间
  • 这可以由任何JMeter控制/实施吗 设置/属性
  • 它是否与基本线程组v/s相关 线程组插件,比如并发/终极线程组
  • 测试运行示例:

    我试着用10名工人运行这个测试计划,其中6名成功完成,4名被绞死。请找到那个

    另外,为什么摘要器显示的活动线程+已完成线程多于已启动线程


    查看日志,JMeter在报告测试完成后似乎没有完成所有线程:

    2020-12-16 08:19:48,933 INFO o.a.j.t.JMeterThread: Thread finished: 10.244.11.4-Thread Group 1-86
    2020-12-16 08:25:22,926 INFO o.a.j.e.RemoteJMeterEngineImpl: Shutting test ...
    2020-12-16 08:25:22,927 INFO o.a.j.e.RemoteJMeterEngineImpl: ... stopped
    2020-12-16 08:25:22,928 INFO o.a.j.t.JMeterThread: Stopping: 10.244.11.4-Thread Group 1-78 
    2020-12-16 08:25:22,928 INFO o.a.j.t.JMeterThread: Stopping: 10.244.11.4-Thread Group 1-190
    
    您需要比较从机中出现故障的日志文件和正在通过的日志文件,这将允许您检测任何不一致

    我能想到的一个可能的原因是您分配的太少,至少有一个控制器使用默认的1GB堆,这可能不足以为200多个虚拟用户执行测试。考虑把这个提升到一个更高的值。有关这一点以及其他JMeter性能和调优技巧的更多详细信息,请参阅本文


    如果问题仍然存在,找出线程卡住原因的唯一方法是使用

    谢谢@Dmitri!我进行了线程转储,发现一些挂起的HTTP请求。曾试图进一步调试,但在设置超时时遇到了一些问题。