JMeter - 在非 GUI 模式下测试运行时运行 shutdown.cmd 时出错

Posted

技术标签:

【中文标题】JMeter - 在非 GUI 模式下测试运行时运行 shutdown.cmd 时出错【英文标题】:JMeter - Error to run shutdown.cmd when test running in Non-GUI mode 【发布时间】:2021-07-28 07:03:48 【问题描述】:

我首先在 CLI 模式下为 2000 个用户运行 API 性能测试。第二轮测试有 5000 个 VU,但第二轮测试不会停止。我运行了 12 分钟的间隔时间,但在 12 分钟之后,测试仍然没有完成 5000 VU 的线程。

所以我想关闭正在运行的测试。当我想停止测试运​​行时出现此错误(点击shutdown.cmd)

我也试过打开mirror-server.cmd排查:

通过双击 JMeter bin 文件夹中的这些 exe 文件(我试图同时单击这两个但同样的错误)。

突然间,我的测试现在运行了近 20k VU:

我也已经重新启动我的电脑并尝试以 500 VU 再次运行,但数字不是以 500 VU 开头,而是以 5000 VU 开头!

能告诉我这里有什么问题吗?根本原因来自没有完成测试的第二轮?幸运的是,我目前没有遇到任何内存不足的错误。如何强制停止当前在命令中运行的所有测试?请指教,谢谢!

【问题讨论】:

【参考方案1】:

    这些不是.exe 文件,它们是Windows Batch scripts

    我无法使用您提供的步骤重现您的问题:

    您可以尝试通过从Windows Command Prompt 安装的 JMeter 的“bin”文件夹中运行此 shutdown.cmd 来停止测试

    您只需在运行测试的 shell 窗口中按 Control + C 即可停止测试

    作为最后的手段,您始终可以使用taskkill 命令来终止所有 Java 进程

    taskkill /f /im "java.exe"
    

    警告:它将终止所有 Java 进程实例,而不仅仅是 JMeter

    活跃线程数在此列:

    如果没有看到您的测试配置和jmeter.log file,对于您正在使用的线程组和计时器组件,很难说为什么您的测试没有结束

【讨论】:

谢谢先生。我检查了我从 CLI Mode -j resultlogtest.csv 命令的日志文件。我尝试运行 5000 VU 30 分钟线程时间,但在 30 分钟以上,错误消息“由于线程检测到结束时间而停止”我如何知道测试已经停止,因为我无法运行 shutdown.cmd? 还有一个问题,这里不用申请并发线程组吗?

以上是关于JMeter - 在非 GUI 模式下测试运行时运行 shutdown.cmd 时出错的主要内容,如果未能解决你的问题,请参考以下文章

JMeter 非 GUI 模式运行

Jmeter非命令行执行脚本

JMeter 结果有多准确

JMeter - 来自非 gui 模式的摘要报告

为啥建议在 jmeter 中以非 gui 模式运行负载测试

Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)