将 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 脚本执行未结束,因此未生成报告和结果的主要内容,如果未能解决你的问题,请参考以下文章