1

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

  1. Master和slave上的Jmeter版本相同。

  2. Java 版本在 Master 和 slave 上是相同的。

  3. 两个系统都在同一个子网中,我可以从我的主人ping到奴隶。

  4. rmi 密钥在 master 上创建并复制到 bin 文件夹中的 slave。

  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:连接超时:在 sun.rmi.transport.tcp.TCPChannel 处连接 sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) ~[?:1.8.0_211]。 createConnection(Unknown Source) ~[?:1.8.0_211] at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) ~[?:1.8.0_211] at sun.rmi.server.UnicastRef.invoke(Unknown Source ) ~[?:1.8.0_211] at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source) ~[?:1.8.0_211] at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source) ~[?:1.8 .0_211] at com.sun.proxy.$Proxy21.testStarted(Unknown Source) ~[?:?] at org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:

我认为奴隶无法将结果发送回主人并获得连接拒绝,我该如何解决这个问题?期待您的回音。(已编辑)

4

1 回答 1

0

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

默认情况下,JMeter 使用端口 1099,因此请仔细检查是否允许传入连接。如果不是 - 要么更改server.port属性以使用空闲且允许的端口,要么创建防火墙规则以解除对流量的阻塞。

于 2019-10-01T17:36:44.543 回答