运行一台机器上有多个jmeter任务,如何指定端口停止jmeter测试

Run multiple jmeter tasks on a machine, how to specify a port to stop jmeter test

我在 ubuntu 服务器上执行了 3 个 jmeter 任务。现在我需要停止其中之一(需要生成报告)。我在bin目录下执行stoptest.sh脚本,发现只能停止第一个启动的jmeter任务。这是端口为4445的测试任务,启动时通过jmeter日志可以看到。另外2个任务的端口是44464447,那么如何指定停止测试的端口呢?比如我想停止端口为4447的测试任务,但让其他2个测试继续,怎么办?当然,我不会使用kill -9 jmeter-pid方式,因为这是强制退出jmeter进程,不会产生test report

  1. 您可以提供 JMeter 的关闭客户端端口作为参数,例如:

    ./stoptest.sh 4446 
    

  2. 最好使用 shutdown.sh,因为此脚本“要求”JMeter 停止其线程,而 stoptest.sh“杀死”可能导致大量错误的线程线程异常终止。 JMeter引擎关闭端口可以完全一样的方式指定

  3. 即使在测试执行期间也可以随时生成报告,如果你set jmeter.save.saveservice.autoflush property to trueJMeter会在准备好后立即将每个Sampler执行结果保存到.jtl文件中