Проблемы удаленного тестирования JMeter - PullRequest
0 голосов
/ 18 июня 2020

Я провожу удаленное тестирование на 2 подчиненных машинах на Linux в режиме CLI. Я установил порты rmi, как показано ниже, как на главном, так и на подчиненном компьютере. Я могу подключить lnet к портам 8080/1099 с главного-подчиненного и наоборот. Для этих портов открыт брандмауэр.

jmeter.properties: client.rmi.localport = 1099

jmeter.properties: server.rmi.localport = 8080

Я запустил jmeter-server на главном и подчиненном узлах

   ./jmeter-server -Djava.rmi.server.hostname=10.132.89.172 (Master)
   ./jmeter-server -Djava.rmi.server.hostname=10.132.91.141 (Slave 1)
  ./jmeter-server -Djava.rmi.server.hostname=10.132.88.44 (Slave 2)

Я попытался запустить тест с помощью следующей команды на главном узле

jmeter -n -Jthreads = 10 -Jrampup = 30 -Jduration = 60 -Jiterations = -1 -t sampletest.jmx -R 10.132.91.141,10.132.88.44 -D java .rmi.server.hostname = 10.132.89.172 -Dclient.rmi.localport = 1099

I возникают следующие проблемы.

  1. После регистрации «Запуск распределенного теста с удаленными механизмами» на главном узле для регистрации требуется около 10 минут »Запуск теста на хосте 10.132.91.141 "а также большая задержка при запуске запросов на ведомом 1 и еще большая задержка для запуска на ведомом 2.

  2. На узлах Slave (jmet-server.log), Я вижу, что соединение отклонило ошибки с главным узлом. java .rmi.ConnectException: соединение с хостом отказано: 10.132.89.172

  3. Использование памяти на подчиненных узлах продолжает увеличиваться и приводит к ошибкам OutOfMemory даже после изменения HEAP на xmx10g.

  4. Главный узел застрял на этом этапе и больше не возвращается.

    Ожидается возможное сообщение Shutdown / StopTestNow / HeapDump / ThreadDump на порту 4445

Благодарим за любой вклад в решение проблем.

1 Ответ

1 голос
/ 18 июня 2020

Не запускайте jmeter-server на главной машине.

Вы можете выполнить следующие шаги:

  • Добавьте IP-адреса подчиненной машины (10.132.91.141, 10.132.88.44) в файл jmeter.properties.

    remote_hosts = 10.132.91.141, 10.132.88.4

  • Добавьте следующее на каждую подчиненную машину jmeter-server файл:

    RMI_HOST_DEF = -D java .rmi.server.hostname = ip_of_jmeter_server

  • Запуск jmeter-server с этих двух подчиненных машин

    . / Jmeter-server

  • Запустите тест с главной машины как

    jmeter -n -Gthreads = 10 -Grampup = 30 -Gduration = 60 -Giterations = - 1 -t sampletest.jmx -r

Используйте флаг -G для отправки свойства Jmeter на все удаленные серверы. Проверьте документацию на Переопределение свойств через командную строку

Еще раз проверьте, выполнили ли вы все предварительные условия для выполнения распределенного теста:

All machines(Master & Slaves) are in the same subnet.
The firewall is disabled for all machines.
JMeter and JDK versions are the same for all machines.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...