Jmeter распределенное тестирование на рабах AWS EC2 - PullRequest
1 голос
/ 22 апреля 2020

Я хочу настроить распределенную систему тестирования для обработки большой нагрузки на мое приложение. Я следовал руководству по Jmeter, но все еще имел проблемы. Во-первых, ведомые и ведущие являются удаленными компьютерами EC2 на AWS (один и тот же регион, но разные зоны доступности). я отключил rmi ssl с помощью этой команды server.rmi.ssl.disable=true в файле .properties как на главном, так и на ведомом устройствах, настроил также переменную remote_hosts с ведомым IP на главном. перед запуском удаленного выполнения я запустил jmeter-server.bat на ведомом устройстве.

я попытался запустить тест с простым http-запросом к ведомому устройству и получил:

Connection refused to host: IP;nested exception is:
java.net.ConnectException:connection refused:connect

я отключил брандмауэр как в ведомом, так и в главном, версии Jmeter и java одинаковы.

Я выяснил, что порт сервера является Dynami c, поэтому я не могу сохранить файл .properties на главном сервере до сервера работает и порт известен. Есть ли способ привязать номер порта сервера, чтобы использовать номер, который я указал? и если да, что я должен изменить и в каком файле.

Ответы [ 2 ]

1 голос
/ 22 апреля 2020
  1. Обязательно используйте publi c IP-адреса (вы также можете использовать частные, но машины должны быть внутри одного и того же VP C )
  2. Отключение брандмауэра недостаточно, необходимо внести в белый список порты, используя Группы безопасности
  3. Порты, используемые для связи JMeter master / slave RMI можно определить, используя следующие свойства JMeter

    • server_port
    • server.rmi.localport
    • client.rmi.localport

Вы можете найти скрипт-обертку, такой как JMeter ec2 Script , более простой в использовании

0 голосов
/ 28 апреля 2020

Я тоже использую экземпляр EC2 для запуска своих сценариев в режиме master-slave. В дополнение к этому я использую Taurus в качестве оболочки для моего jmeter-скрипта, чтобы запускать скрипты с распределенной платформы.

--
settings:
  env:
    platform_hostname: hostname
    username: UserID
    password: Password
execution:
- distributed:
  - SomeIPAddress
  scenario: MainScenario
scenarios:
  MainScenario:
    requests:
      - include-scenario: ClusterNode
    variables:
      num_concurrent_threads: 100
      platform_hostname: ${platform_hostname}
      username: ${username}
      password: ${password}
      rampup_time: 300
      duration: 36000
      target_rpm: 120
      container_list_filename: 1_ContainerMessageDownloadDataFile.csv

included-configs:
- container_cluster_node.yml

Теперь в этом случае я вижу из файла jmeter-server.log, что удаленный механизм был запущен. Однако тесты заканчиваются через несколько секунд на сервере, а затем продолжают выполняться на клиенте. Есть идеи, почему это может происходить? Я не вижу ошибок, поэтому не знаю, где искать.

2020-04-28 16:00:37,297 INFO o.a.j.e.RemoteJMeterEngineImpl: Running test
2020-04-28 16:00:37,297 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-04-28 16:00:37,297 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-04-28 16:00:37,337 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : MainScenario
2020-04-28 16:00:37,337 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group MainScenario.
2020-04-28 16:00:37,337 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-04-28 16:00:37,338 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=0 perThread=0.0 delayedStart=false
2020-04-28 16:00:37,338 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-04-28 16:00:37,339 INFO o.a.j.t.JMeterThread: Thread started: MainScenario 1-1
2020-04-28 16:00:37,338 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-04-28 16:00:37,340 INFO o.a.j.t.JMeterThread: Thread is done: MainScenario 1-1
2020-04-28 16:00:37,340 INFO o.a.j.t.JMeterThread: Thread finished: MainScenario 1-1
2020-04-28 16:00:37,340 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-04-28 16:00:37,340 INFO o.a.j.s.DataStrippingSampleSender: Test Ended on 10.12.4.147
2020-04-28 16:00:37,341 INFO o.a.j.s.BatchSampleSender: Test Ended on IPAddress
2020-04-28 16:00:37,341 INFO o.a.j.s.DataStrippingSampleSender: Test Ended on IPAddress
2020-04-28 16:00:37,341 INFO o.a.j.s.BatchSampleSender: Test Ended on IPAddress
2020-04-28 16:00:37,342 INFO o.a.j.e.StandardJMeterEngine: Test has ended on host IPAddress 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...