JMeter Розподілене тестування: конфігурація "головний-підлеглий"

⚡ Розумний підсумок

Розподілене тестування в JMeter використовує конфігурацію "головний-підлеглий" для створення навантаження з кількох машин на один цільовий сервер. У цьому посібнику пояснюється модель клієнт-сервер та точні кроки для налаштування, запуску та усунення несправностей віддаленого JMeter тест.

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

JMeter Розподілене тестування

Що таке розподілене тестування?

Видали більше Тестування це вид тестування, який використовує кілька систем для виконання Стрес-тестування. Розподілене тестування застосовується для тестування веб-сайтів і серверних додатків, коли вони працюють з кількома клієнтами одночасно.

Розподілене тестування використовує модель клієнт-сервер, як показано на рисунку нижче:

Розподілене тестування

  • Майстер: система, на якій працює JMeter Графічний інтерфейс, який керує кожним підлеглим комп'ютером.
  • Раб: система працює 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 Тести складні та важкі для створення новачками.

Поширені запитання

Так. Інструменти штучного інтелекту можуть узагальнювати великі набори результатів, виявляти аномалії продуктивності та виділяти вузькі місця на підлеглих машинах. Вони пришвидшують аналіз, але ви все одно налаштовуєте та запускаєте розподілену тестову інфраструктуру самостійно.

Ні. Штучний інтелект допомагає зі сценаріями та аналізом результатів, але для створення реалістичного навантаження на сервер з високим рівнем паралельності все ще потрібні розподілені тестові машини. Штучний інтелект доповнює розподілене тестування, а не замінює інфраструктуру.

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

Тестування навантаження вимірює, як система поводиться під очікуваним навантаженням. Розподілене тестування розподіляє це навантаження на кілька машин, що дозволяє набагато вищий паралельний процес, ніж може генерувати одна машина самостійно.

Підсумуйте цей пост за допомогою: