JMeter Распределенное тестирование: конфигурация «ведущий-ведомый»

⚡ Умное резюме

Распределенное тестирование в JMeter Используется конфигурация «ведущий-ведомый» для генерации нагрузки с нескольких машин на один целевой сервер. В этом пошаговом руководстве объясняется модель «клиент-сервер» и точные шаги по настройке, запуску и устранению неполадок удаленного сервера. JMeter тест.

  • 🖥️ Модель «хозяин-раб»: Главный управляет JMeter Графический интерфейс пользователя управляет каждым подчиненным сервером, в то время как подчиненные серверы отправляют запросы на целевой сервер.
  • 🌐 Сетевые предпосылки: Все машины должны находиться в одной подсети и работать под управлением одной и той же операционной системы. JMeter версии, и брандмауэры отключены.
  • ⚙️ Конфигурация ведомого устройства: Запустите jmeter-server.bat на каждом подчиненном сервере, затем выведите список всех IP-адресов подчиненных серверов из файла jmeter.properties главного сервера.
  • ▶ ️ Запуск теста: В главном графическом интерфейсе выберите «Выполнить» > «Удаленный запуск» и выберите IP-адрес подчиненного устройства, чтобы начать генерацию нагрузки.
  • 🇧🇷 Устранение неполадок с ограничениями: Перезапустите jmeter-server.bat и отключите брандмауэры; каждый подчиненный сервер обрабатывает примерно от 100 до 300 потоков.

JMeter Распределенное тестирование

Что такое распределенное тестирование?

Распределенный Тестирование Это вид тестирования, при котором для его проведения используется несколько систем. Стресс-тестирование. Распределенное тестирование применяется для тестирования веб-сайтов и серверных приложений, когда они одновременно работают с несколькими клиентами.

Распределенное тестирование использует модель «клиент-сервер», как показано на рисунке ниже:

Распределенное тестирование

  • Эталонный: система, на которой работает JMeter Графический интерфейс пользователя (GUI), который управляет каждым подчиненным устройством.
  • Раб: система работает JMeter-сервер, который получает команду от главного сервера и отправляет запрос на тестируемый сервер.
  • Target: тестируемый веб-сервер, который получает запросы от подчиненных серверов.

Пример удаленного тестирования

Предпосылка:

  • Брандмауэры на системах отключены. В некоторых случаях брандмауэр может по-прежнему блокировать трафик. Вам следует отключить его. Windows брандмауэр или Linux брандмауэр.
  • Все машины должны находиться в одной подсети. Если машины находятся в разных подсетях, они могут не распознавать друг друга в сети.
  • Используйте ту же версию JMeter чтобы избежать непредвиденных ошибок/проблем.

Вот Дорожная карта для этого тестирования:

Пример удаленного тестирования

Шаг 1) Конфигурация системы

Настройте раб Для систем: перейдите в каталог jmeter/bin и запустите файл «jmeter-server.bat».

Предположим, что подчиненный компьютер имеет IP-адрес 192.168.0.10. WindowsПосле этого должно появиться окно, похожее на то, что показано на следующем рисунке:

Конфигурация системы

На мастер В системах перейдите в каталог /bin и отредактируйте файл. jmeter.propertiesЗатем добавьте IP-адрес подчиненной машины, как показано ниже:

Конфигурация системы

Шаг 2) Запустите тест

На этом этапе вы готовы начать нагрузочное тестирование. На главной машине запустите... JMeter GUI и откройте план тестирования.

Нажмите «Выполнить» в строке меню, затем выберите Удаленный запуск -> выберите IP-адрес рабовладельческой машины.

Запустить тест

Шаг 3) Устранение неполадок

Если вам не удаётся запустить тест на указанном выше компьютере и вы видите ошибку, описанную ниже, просто попросите владельца ведомого компьютера запустить файл jmeter-server.bat.

Диагностика неисправностей

Для устранения этой ошибки отключите брандмауэр на главном и подчиненном компьютерах.

Ограничение

Есть некоторые основные недостатки для распределенного тестирования. Вот список известных элементов:

  • Сервер и все клиенты должны быть включены. тоже самое подсети.
  • Распределенное тестирование требует, чтобы целевой сервер обладал большой вычислительной мощностью. Целевой сервер может быть легко перегруженный в случае получения слишком большого количества запросов от распределенной системы JMeter тесты.
  • Один JMeter Подчиненная система обычно может обрабатывать ограниченное количество потоков — от 100 до 300 потоков, в зависимости от конфигурации оборудования и сложности плана тестирования.
  • Распределенный JMeter Тесты сложны и их трудно создать новичку.

Часто задаваемые вопросы (FAQ)

Да. Инструменты искусственного интеллекта могут обобщать большие наборы результатов, выявлять аномалии производительности и указывать на узкие места на подчиненных машинах. Они ускоряют анализ, но вам все равно придется самостоятельно настраивать и запускать распределенную тестовую инфраструктуру.

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

Один главный узел может управлять несколькими подчиненными узлами. Практический предел зависит от процессора, памяти и пропускной способности сети главного узла. Каждый подчиненный узел обычно обрабатывает от 100 до 300 потоков, поэтому пропускная способность масштабируется пропорционально количеству подчиненных узлов.

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

Подведем итог этой публикации следующим образом: