В чем разница между локальной системой (One Master - Zero Slave) и системой Master-slave - выполнение сценария в jmeter?Как это отличается - PullRequest
0 голосов
/ 28 сентября 2019

Может ли кто-нибудь помочь мне понять разницу в проведении нагрузочного тестирования с использованием локальной системы и настройке системы «главный-подчиненный»?Чем это отличается?Какова наилучшая практика для нагрузочного тестирования на сервере.

Если мы настраиваем ведущий-ведомый, должны ли оба быть в одной подсети?И мы можем сгенерировать отчет HTML в главной системе после запуска скрипта?

1 Ответ

0 голосов
/ 30 сентября 2019

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

Каждый поток (виртуальный пользователь) имеет некоторый «след» с точки зрения использования процессора, оперативной памяти, сети и диска.Поэтому вам нужно убедиться, что машина, на которой вы работаете с JMeter, имеет достаточную емкость и не перегружена, потому что, если JMeter не способен отправлять запросы достаточно быстро - вы получите ложноотрицательных результатов , поскольку пропускная способность будет низким не из-за проблемы тестируемого приложения, а из-за проблемы с JMeter.

Поэтому при выполнении нагрузочного теста обязательно следите за такими основными показателями работоспособности ОС, как загрузка ЦП, ОЗУ, сеть, диск, своп.Вы можете сделать это, используя, например, JMeter PerfMon Plugin

Если вы можете выполнить требуемую нагрузку, используя только один компьютер JMeter - выполнение теста в распределенном режиме не требует больших затрат.смысл, так как вы не получите никаких новых результатов.

Однако если одна машина не может произвести требуемую нагрузку - вам придется провести распределенное тестирование.Основная идея состоит в том, чтобы несколько экземпляров JMeter выполняли один и тот же План тестирования .

Например, если вы определили, что вы можете запустить только 1000 виртуальных пользователей на одной машине, и вам нужно смоделировать 3000, вам понадобятся 4 машины для этого.

  1. Мастер-машина для организации подчиненных устройств и сбора результатов.
  2. 3 подчиненных компьютера, на каждом из которых работает 1000 виртуальных пользователей.

После запуска JMeter Serve на каждой подчиненной машине вы сможете запустить тест в режиме командной строки без графического интерфейса пользователя следующим образом:

jmeter -n -t your_test_plan.jmx -R IP.of.1st.slave, IP.of.2nd.slave, IP.of.3rd.slave -l result.jtl

Если вы хотите создать панель отчетов HTML после запуска теста , вы можете сделать это следующим образом:

jmeter -n -t your_test_plan.jmx -R IP.of.1st.slave, IP.of.2nd.slave, IP.of.3rd.slave -l result.jtl -e -o /path/to/output/folder
...