我目前正在使用Jmeter v5.2进行远程测试,并尝试连接到从站。遵循Jmeter用户手册中的所有步骤。最后,我在我的主机上看不到结果,并且我得到的错误率低于此值。
System property 'java.rmi.server.hostname' is not defined, using localHost address
我相信我已经检查过我身边是否有任何错误,例如
但还没有运气。我有什么想念的吗?同样在服务器端(从站),我得到如下消息。
看起来好像连接成功。但是我看不到任何结果。
以下是jmeter日志
Configuring remote engine: slave_ipaddrss
2019-11-18 09:21:16,108 INFO o.a.j.e.DistributedRunner: Starting distributed test with remote engines: [slave_ipaddrss] @ Mon Nov 18 09:21:16 EST 2019 (1574086876108)
2019-11-18 09:21:16,109 INFO o.a.j.e.ClientJMeterEngine: running clientengine run method
2019-11-18 09:21:16,109 INFO o.a.j.r.RmiUtils: System property 'java.rmi.server.hostname' is not defined, using localHost address
2019-11-18 09:21:16,109 INFO o.a.j.r.RmiUtils: Local IP address=local_ipaddrss
2019-11-18 09:21:16,114 INFO o.a.j.r.SSLRMIServerSocketFactory: Created SSLSocket: [SSL: ServerSocket[addr=localhostname/local_ipaddrss,localport=8152]]
2019-11-18 09:21:16,114 INFO o.a.j.s.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000
2019-11-18 09:21:16,114 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2019-11-18 09:21:16,115 INFO o.a.j.r.RmiUtils: System property 'java.rmi.server.hostname' is not defined, using localHost address
2019-11-18 09:21:16,115 INFO o.a.j.r.RmiUtils: Local IP address=local_ipaddrss
2019-11-18 09:21:16,120 INFO o.a.j.r.SSLRMIServerSocketFactory: Created SSLSocket: [SSL: ServerSocket[addr=localhostname/local_ipaddrss,localport=8153]]
2019-11-18 09:21:16,121 INFO o.a.j.s.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000
2019-11-18 09:21:16,121 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2019-11-18 09:21:16,121 INFO o.a.j.r.RmiUtils: System property 'java.rmi.server.hostname' is not defined, using localHost address
2019-11-18 09:21:16,121 INFO o.a.j.r.RmiUtils: Local IP address=local_ipaddrss
2019-11-18 09:21:16,126 INFO o.a.j.r.SSLRMIServerSocketFactory: Created SSLSocket: [SSL: ServerSocket[addr=localhostname/local_ipaddrss,localport=8154]]
2019-11-18 09:21:16,128 INFO o.a.j.r.RmiUtils: System property 'java.rmi.server.hostname' is not defined, using localHost address
2019-11-18 09:21:16,128 INFO o.a.j.r.RmiUtils: Local IP address=local_ipaddrss
2019-11-18 09:21:16,133 INFO o.a.j.r.SSLRMIServerSocketFactory: Created SSLSocket: [SSL: ServerSocket[addr=localhostname/local_ipaddrss,localport=8155]]
2019-11-18 09:21:16,408 INFO o.a.j.e.ClientJMeterEngine: sent test to slave_ipaddrss basedir='.'
2019-11-18 09:21:16,409 INFO o.a.j.e.ClientJMeterEngine: Sending properties {}
2019-11-18 09:21:16,414 INFO o.a.j.e.ClientJMeterEngine: sent run command to slave_ipaddrss
2019-11-18 09:21:16,414 INFO o.a.j.e.DistributedRunner: Remote engines have been started:[slave_ipaddrss]
2019-11-18 09:21:16,696 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, slave_ipaddrss)
2019-11-18 09:21:17,443 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, slave_ipaddrss)
谢谢。
答案 0 :(得分:0)
首先检查JMeter从属计算机上的jmeter-server.log
文件,以防万一发生故障时该文件应包含足够的故障排除信息,以便您能够深入研究问题。
第二,查看jmeter-server
file,其中有一个stanza,看起来像:
# If the client fails with:
# ERROR - jmeter.engine.ClientJMeterEngine: java.rmi.ConnectException: Connection refused to host: 127.0.0.1
# then it may be due to the server host returning 127.0.0.1 as its address
# One way to fix this is to define RMI_HOST_DEF below
#RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
因此,您可以尝试在JMeter从站侧显式设置RMI server hostname,例如:
jmeter-server.bat -Djava.rmi.server.hostname=10.20.30.40
完成后,您可以像这样启动JMeter master:
jmeter -R10.20.30.40
用JMeter从属计算机的实际IP地址替换10.20.30.40
。
更多信息:
答案 1 :(得分:0)
我已经通过增加重试次数(默认情况下为1)解决了这个问题。当分布式测试开始时,可能有几次尝试初始化远程引擎的操作
您可以在jmeter.properties文件中找到并编辑“ client.tries”,并取消注释为
client.tries= 3
我还使用以下命令在从属计算机中启动jmeter服务器。
jmeter-server.bat -Djava.rmi.server.hostname=local ipaddress
这帮助我将rmi服务器主机名明确定义为本地地址。