JMeter主从分布式执行时从机完成但主机卡住无结果如何解决
JMeter主从分布式测试卡4445端口问题解决方案
该问题核心本质是主从节点RMI双向通信链路异常,从节点执行完成后测试结果无法回传给主节点,导致主节点持续等待测试结束信号,才会不断输出
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445日志。
核心问题排查
你当前的配置存在端口冲突:user.properties优先级高于jmeter.properties,你在两个文件中分别将server.rmi.port设为4000和9999,会导致服务端口监听异常,直接引发通信失败。
修复步骤
1. 统一清理冗余配置
主、从节点均删除之前在jmeter.properties、user.properties中新增的所有端口、RMI相关配置,避免多配置项冲突。
2. 主节点配置调整
修改主节点user.properties文件,新增如下配置:
# 和从节点RMI服务端口保持一致 server.rmi.port=4000 # 主节点本地端口,用于接收从节点回传的测试结果 client.rmi.localport=4001 # 关闭RMI SSL验证(JMeter5.3默认开启,未配置证书时会直接阻断通信) server.rmi.ssl.disable=true
3. 从节点配置调整
修改从节点user.properties文件,新增如下配置:
# 从节点服务监听端口 server_port=4000 server.rmi.port=4000 server.rmi.localport=4000 # 和主节点一致关闭RMI SSL验证 server.rmi.ssl.disable=true
4. 网络与启动参数校验
- 主节点开放4001端口入站规则,从节点开放4000端口入站规则,确保双向网络连通
- 从节点启动jmeter-server时指定自身可被主节点访问的IP:
./jmeter-server -Djava.rmi.server.hostname=从节点实际IP - 主节点启动测试时指定自身可被从节点访问的IP:
./jmeter -n -t 测试脚本路径.jmx -R 从节点IP -Djava.rmi.server.hostname=主节点实际IP
效果验证
调整完成后先启动从节点jmeter-server,确认启动日志中提示端口监听正常,再启动主节点执行测试,单线程请求数秒内即可完成执行、生成结果,不会再卡在4445端口等待。
内容的提问来源于stack exchange,提问作者Imran
相关产品推荐
相关产品推荐

