主服务器停留在“等待端口4445上可能出现的Shutdown / StopTestNow / HeapDump / ThreadDump消息”

时间:2019-09-30 15:08:09

标签: windows jmeter performance-testing load-testing distributed-testing

我正在执行分布式测试,并且按照以下步骤操作。

  1. 主站和从站上的Jmeter版本相同。

  2. 主服务器和从属服务器上的Java版本相同。

  3. 两个系统都在同一子网中,我可以从主服务器ping到从服务器。

  4. rmi密钥是在主服务器上创建的,并复制到bin文件夹中的从属服务器上。

  5. 从属IP地址已添加到remote_hosts

当我在非GUI模式下从主到从运行简单测试(使用jmx)时,我可以看到

Starting the test on host 10.1.11.85(fake ip here just for example)

Finished the test on host 10.1.11.85(fake ip here just for example)

在我的主计算机上,我可以看到

F:\Performance Testing\apache-jmeter-5.1.1\apache-jmeter-5.1.1\bin>jmeter.bat -n -R 10.1.56.65 -t 

"F:\Performance Testing\Linkedin.jmx" -f -l "F:\Performance Testing\LoadTestData.csv" -e -o 

"F:\Performance Testing\LoadTestData"

Picked up _JAVA_OPTIONS: -Xms512m -Xmx4096m

Creating summariser <summary>

Creating summariser <summary>

Created the tree successfully using F:\Performance Testing\Linkedin.jmx

Configuring remote engine: 10.1.56.65(Fake ip here for example)

Starting remote engines

Starting the test @ Mon Sep 30 14:23:40 CEST 2019

Remote engines have been started

Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445

即使我等待2个小时,我的脚本也会在此处停止。

脚本没有整理好,没有得到结果。

当我进行位调查并在从属计算机上打开jmeter-server.log文件时,我看到:

  

java.rmi.ConnectException:连接拒绝托管:10.1.56.65;   嵌套的异常是:       java.net.ConnectException:连接超时:connect       在sun.rmi.transport.tcp.TCPEndpoint.newSocket(未知来源)〜[?:1.8.0_211]       在sun.rmi.transport.tcp.TCPChannel.createConnection(未知来源)〜[?:1.8.0_211]       在sun.rmi.transport.tcp.TCPChannel.newConnection(未知来源)〜[?:1.8.0_211]       在sun.rmi.server.UnicastRef.invoke(未知来源)〜[?:1.8.0_211]       在java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(未知   来源)〜[?:1.8.0_211]       在java.rmi.server.RemoteObjectInvocationHandler.invoke(未知来源)〜[?:1.8.0_211]       在com.sun.proxy。$ Proxy21.testStarted(未知来源)〜[?:?]       在org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:79)   [ApacheJMeter_core.jar:5.1.1 r1855137]       在org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:208)处   [ApacheJMeter_core.jar:5.1.1 r1855137]       在org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:381)   [ApacheJMeter_core.jar:5.1.1 r1855137]       在java.lang.Thread.run(未知来源)[?: 1.8.0_211]原因:java.net.ConnectException:连接超时:connect       在java.net.DualStackPlainSocketImpl.connect0(本机方法)〜[?:1.8.0_211]       在java.net.DualStackPlainSocketImpl.socketConnect(未知源)〜[?:1.8.0_211]       在java.net.AbstractPlainSocketImpl.doConnect(未知源)〜[?:1.8.0_211]       在java.net.AbstractPlainSocketImpl.connectToAddress(未知来源)〜[?:1.8.0_211]       在java.net.AbstractPlainSocketImpl.connect(未知源)〜[?:1.8.0_211]       在java.net.PlainSocketImpl.connect(未知来源)〜[?:1.8.0_211]       在java.net.SocksSocketImpl.connect(未知源)〜[?:1.8.0_211]       在java.net.Socket.connect(未知来源)〜[?:1.8.0_211]       在sun.security.ssl.SSLSocketImpl.connect(未知来源)〜[?:1.8.0_211]       在sun.security.ssl.SSLSocketImpl。(未知来源)〜[?:1.8.0_211]       在sun.security.ssl.SSLSocketFactoryImpl.createSocket(未知来源)〜[?:1.8.0_211]       在org.apache.jmeter.rmi.SSLRMIClientSocketFactory.createSocket(SSLRMIClientSocketFactory.java:118)   〜[ApacheJMeter_core.jar:5.1.1 r1855137]       ...还有11个

我认为从站无法将结果发送回主机并拒绝连接,我该如何解决? 期待您的回音。 (已编辑)

1 个答案:

答案 0 :(得分:0)

您可以ping通从属设备的事实并不一定意味着JMeter可以通过RMI与它通信,因为您的操作系统防火墙可以允许ICMP流量但阻止JMeter使用的端口。

默认情况下,JMeter使用port 1099,因此请仔细检查是否允许传入连接。如果不是,请change the server.port property使用免费且允许的端口,或者创建防火墙规则以解除流量阻塞。