Мастер застрял на "Ожидание возможного завершения работы / StopTestNow / HeapDump / ThreadDump сообщение на порт 4445" - PullRequest
0 голосов
/ 30 сентября 2019

Я выполняю распределенное тестирование, и я выполнил следующие шаги.

  1. Версия Jmeter на главном и подчиненном устройствах одинакова.

  2. Версия Java на Master и Slave одинакова.

  3. Обе системы находятся в одной подсети, я могу выполнить команду ping на slave от моего мастера.

  4. Ключ rmi создается на главном сервере и копируется на ведомый в папке bin.

  5. ведомый IP-адрес добавляется в remote_hosts

Когда я запускаю простой тест(используя 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.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.enineeend.EngineEter) [ApacheJMeter_core.jar: 5.1.1 r1855137] at java.lang.Thread.run (неизвестный источник) [?: 1.8.0_211] Причина: java.net.ConnectException: Истекло время ожидания соединения: подключиться по адресу 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] at org.apache.jmeter.rmi.SSLRMIClientSocketFactory.createSocket (SSLRMIClientSocketFactory.java:118) ~ [ApacheJMeter_core.jar: 5.1.1 r1855137] ... еще 11

Я думаю, что ведомый не может отправить результат обратно Мастеру и получаетОтказ в соединении, как я могу решить это? С нетерпением жду Вашего ответа. (отредактировано)

1 Ответ

0 голосов
/ 01 октября 2019

Тот факт, что вы можете пропинговать подчиненное устройство, не обязательно означает, что JMeter может связываться с ним по RMI , потому что брандмауэр операционной системы может разрешать ICMP трафик, но блокировать порты, которые использует JMeter,

По умолчанию JMeter использует порт 1099 , поэтому дважды проверьте, разрешены ли входящие соединения. Если нет - либо измените свойство server.port , чтобы использовать свободный и разрешенный порт, либо создайте правило брандмауэра, разблокирующее трафик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...