将 JMeter 运行到 Master 和 Slave 机器,但在 Master 机器上 JMeter 脚本执行未结束,因此未生成报告和结果

Posted

技术标签:

【中文标题】将 JMeter 运行到 Master 和 Slave 机器,但在 Master 机器上 JMeter 脚本执行未结束,因此未生成报告和结果【英文标题】:Running JMeter to Master & Slave machines, but at Master machine JMeter script execution not ended, so report and result not generated 【发布时间】:2021-12-05 02:03:43 【问题描述】:

在主机和从机上运行 JMeter,从机显示脚本已启动和完成,但在主机上显示“在端口 4445 上等待可能的 Shutdown/StopTestNow/HeapDump/ThreadDump 消息”,为此在主机上执行 JMeter 脚本不已结束,因此未生成报告和结果。 虽然这个脚本只包含一个带有单线程的 HTTP 请求,但执行它只需要几秒钟。我等了几个小时,但没有得到结果。 我该如何解决这个问题?

对于我配置的主从机器: 安装 jdk1.8.0_271 & jmeter5.3

在“jmeter.properties”上我添加了:server_port=4000、client.rmi.localport=4000、server.rmi.port=4000、server.rmi.localport=4000

在“user.properties”上我添加了:server.rmi.port=9999, server.rmi.localport=4000

【问题讨论】:

请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

    Though this script only contains a HTTP Request with a single thread, for execution it only needs few seconds. - 你运行它有 100 个线程和 500 秒的加速,所以它至少会运行 8 分钟(加上最后一个用户执行采样器的最后一次迭代所需的时间)

    slave 无法向 master 报告测试完成事件和结果,这意味着 slave 无法与 master 正常通信

假设以上所有你需要在slave中打开2个端口,即

SERVER_PORT 为 4000 server.rmi.localport 为 5000

并以jmeter-server -Dserver.rmi.localport=5000 -Dserver_port=4000 -Jclient.rmi.localport=4000 运行您的奴隶

master 应该被执行为jmeter -Jclient.rmi.localport=4000

上述所有端口都必须在防火墙中打开。

更多信息:

Remote hosts and RMI configuration Using a different port JMeter Distributed Testing with Docker

【讨论】:

这里我在从属服务器中打开了 2 个端口,即* 4000 用于 SERVER_PORT * 5000 用于 server.rmi.localport 还在 jmeter.properties 和用户属性中编辑了这些端口。但是 JMeter 没有在 Master 上运行,显示错误消息“配置远程引擎:192.168.0.38:5000 使用本地端口:5000 表中没有这样的对象无法配置 192.168.0.38:5000 停止远程引擎远程引擎已停止 NonGUIDriver 中的错误java.lang.RuntimeException:无法配置以下远程引擎:[192.168.0.38:5000]" i.imgur.com/75d0nfy.png

以上是关于将 JMeter 运行到 Master 和 Slave 机器,但在 Master 机器上 JMeter 脚本执行未结束,因此未生成报告和结果的主要内容,如果未能解决你的问题,请参考以下文章

jmeter的master-slave模式

Jmeter远程服务模式运行时引用csv文件的路径配置

Jmeter远程服务模式运行时引用csv文件的路径配置

Taurus master 在 azure 上连接到同一网络中的 jmeter 从站时关闭测试运行

Redis主从复制丢失数据的情况分析

在 Jmeter“MASTER”中可以将多少台 VM/机器配置为“SLAVE”机器