Jmeter GUI 模式在达到停止条件时不停止执行(一些线程无法停止)
Jmeter GUI mode not stopping execution when stop condition has been reached (a few threads cannot be stopped)
我将 Jmeter 5.2.1 与“经典”线程组一起使用,以模拟负载在 2 小时内连续增加到 400 个线程的压力场景。
我添加了一个 AutoStop Listener,当平均响应时间大于 4000 持续 20 秒或错误率大于 1% 持续 20 秒时,它应该停止脚本执行。
下面是线程组的屏幕截图,您还可以在其中看到右上角显示的时间(超过 2 小时),该时间在旋转时仍在继续(计时器没有停止),以及显示 AutoStop Listener 已触发停止条件并且线程已开始停止的日志,在另一个屏幕截图中,您可以看到日志写入了许多“Thread finished”语句,但我认为问题在于一些线程以某种方式挂起,jmeter 无法阻止它们。
更新:
从 jmeter gui 中按下“停止”按钮后添加另一个屏幕截图。请注意上次记录与我按下“停止”按钮的时间之间的时间间隔。在那里你可以看到只有在我按下按钮后,我才会收到如下日志消息:
停止:线程组 1-1
中断:线程组 1-1
由于线程检测到结束时间而停止:线程组 1-1
最后:
通知测试听众测试结束
有人可以帮我理解这种行为吗?为什么执行没有自行停止?
当您启动 JMeter 时,它会显示此消息:
所以除了测试开发和调试之外,你不应该将 JMeter GUI 用于任何其他事情,当涉及到测试执行时 you should be running JMeter in command-line non-GUI mode 比如:
jmeter -n -t /path/to/your/testplan.jmx -l /path/to/results.jtl
测试完成后,您可以生成 HTML Reporting Dashboard 来分析结果
如果您需要实时观察指标,您可以使用 Backend Listener or Taurus framework
我将 Jmeter 5.2.1 与“经典”线程组一起使用,以模拟负载在 2 小时内连续增加到 400 个线程的压力场景。 我添加了一个 AutoStop Listener,当平均响应时间大于 4000 持续 20 秒或错误率大于 1% 持续 20 秒时,它应该停止脚本执行。
下面是线程组的屏幕截图,您还可以在其中看到右上角显示的时间(超过 2 小时),该时间在旋转时仍在继续(计时器没有停止),以及显示 AutoStop Listener 已触发停止条件并且线程已开始停止的日志,在另一个屏幕截图中,您可以看到日志写入了许多“Thread finished”语句,但我认为问题在于一些线程以某种方式挂起,jmeter 无法阻止它们。
更新: 从 jmeter gui 中按下“停止”按钮后添加另一个屏幕截图。请注意上次记录与我按下“停止”按钮的时间之间的时间间隔。在那里你可以看到只有在我按下按钮后,我才会收到如下日志消息: 停止:线程组 1-1 中断:线程组 1-1 由于线程检测到结束时间而停止:线程组 1-1 最后: 通知测试听众测试结束
有人可以帮我理解这种行为吗?为什么执行没有自行停止?
当您启动 JMeter 时,它会显示此消息:
所以除了测试开发和调试之外,你不应该将 JMeter GUI 用于任何其他事情,当涉及到测试执行时 you should be running JMeter in command-line non-GUI mode 比如:
jmeter -n -t /path/to/your/testplan.jmx -l /path/to/results.jtl
测试完成后,您可以生成 HTML Reporting Dashboard 来分析结果
如果您需要实时观察指标,您可以使用 Backend Listener or Taurus framework