Як використовувати JMeter для тестування продуктивності та навантаження

JMeter Тестування навантаження

JMeter Тестування навантаження це процес тестування, який виконується за допомогою інструменту навантажувального тестування під назвою Apache JMeter яка є настільною програмою з відкритим кодом на основі Java. JMeter для навантажувального тестування є ключовим інструментом, який визначає, чи може тестована веб-програма задовольнити вимогам високого навантаження чи ні. Це також допомагає аналізувати загальний сервер під великим навантаженням.

JMeter Тестування продуктивності

JMeter Тестування продуктивності is Тестування метод виконується за допомогою Apache JMeter щоб перевірити продуктивність веб-додатку. JMeter для тестування продуктивності допомагає тестувати як статичні, так і динамічні ресурси, допомагає виявити одночасних користувачів на веб-сайті та надає різноманітний графічний аналіз для тестування продуктивності. JMeter Тестування продуктивності включає тест навантаження та стрес-тест веб-додатку.

JMeter Тестування продуктивності

Apache JMeter Інструмент тестування пропонує наступне користь in Тестування продуктивності

  • JMeter можна використовувати для тестування продуктивності обох статичний ресурси, такі як JavaScript і HTML, а також динамічний ресурси, такі як JSP, сервлети та AJAX.
  • JMeter може відкрити Максимальна кількість одночасних користувачів, яку може обслуговувати ваш веб-сайт
  • JMeter надає різноманітні графічні аналізи звітів про продуктивність.

JMeter Тестування продуктивності включає:

JMeter Тестування продуктивності

  • Навантаження Тестування: моделювання очікуваного використання шляхом імітації доступу кількох користувачів Веб-сервіси одночасно.
  • стрес Тестування: кожен веб-сервер має максимальне навантаження. Коли навантаження перевищує ліміт, веб-сервер починає повільно реагувати та видавати помилки. Мета в Стрес-тестування це знайти максимальне навантаження, яке може витримати веб-сервер.

На малюнку нижче показано, як JMeter Тестування навантаження моделює велике навантаження:

JMeter Тестування продуктивності

Створіть план тестування продуктивності в JMeter

У цьому посібнику ми проводимо аналіз продуктивності Google.com для 1000 користувачів, використовуючи різні засоби тестування продуктивності щоб гарантувати, що веб-сайт може витримати навантаження та забезпечити безперебійну взаємодію з користувачем.

Перш ніж тестувати продуктивність цільової веб-програми, ми повинні визначити-

  • Нормальне навантаження: середня кількість користувачів, які відвідують ваш веб-сайт
  • Важке навантаження: максимальна кількість користувачів, які відвідують ваш сайт
  • Що твоє мета в цьому тесті?

Ось Дорожня карта цього практичного прикладу

Створіть план тестування продуктивності в JMeter

Крок 1) Додайте групу потоків

  1. Розпочати JMeter
  2. Виберіть План тестування на дереві
  3. додавати Група ниток

Клацніть правою кнопкою миші на «План тестування» та додайте нову групу потоків: додавати -> Потоки (користувачі) -> Група ниток

Додати групу потоків

На панелі керування групою потоків введіть властивості потоку таким чином:

Додати групу потоків

  • Кількість потоків: 100 (Кількість користувачів, які підключаються до цільового веб-сайту: 100)
  • Підрахунок циклу: 10 (Кількість часу для виконання тестування)
  • Ramp-До Період: 100

Підрахунок ниток і кількість циклів є інший.

Додати групу потоків

Ramp-Вгору Період розповідає JMeter як довго затримка перед запуском наступного користувача. Наприклад, якщо у нас 100 користувачів і 100-сек Ramp-Up period, тоді затримка між початковими користувачами становитиме 1 секунду (100 секунд /100 користувачів)

Додати групу потоків

Крок 2) Додавання JMeter елементи

Тепер визначаємо, що JMeter елементів у цьому тесті. Елементи є

  • HTTP запит За замовчуванням

Цей елемент можна додати, клацнувши правою кнопкою миші на групі потоків і вибравши: додавати -> Елемент конфігурації -> Стандартні параметри запиту HTTP.

Додавання JMeter Елементи

На панелі керування HTTP Request Defaults введіть назву веб-сайту, що тестується (http://www.google.com)

Додавання JMeter Елементи

  • Запит HTTP

Клацніть правою кнопкою миші на групі потоків і виберіть: додавати -> Пробовідбірник -> Запит HTTP.

Запит HTTP

На панелі керування запитами HTTP поле «Шлях» вказує, який URL запит ви хочете надіслати на сервер Google.

Запит HTTP

Наприклад, якщо ви введете "календар” у полі Шлях. JMeter створить URL-запит http://www.google.com/calendar на сервер Google

Запит HTTP

Якщо ви збережете поле Path порожній JMeter створить URL-запит http://www.google.com на сервер Google.

У цьому тесті ви залишаєте поле Path порожнім, щоб створити JMeter створити URL-запит http://www.google.com на сервер Google.

Крок 3) Додавання результату Graph

JMeter може показати результат тесту у форматі Graph.

Клацніть правою кнопкою миші План тестування, додавати -> слухач -> Результати графіка

Додавання результату графіка

Крок 4) Запустіть тест і отримайте результат тесту

Натисніть біг кнопку (Ctrl + R) на панелі інструментів, щоб почати процес тестування програмного забезпечення. Ви побачите результати тесту на Graph у реальному часі.

На зображенні нижче представлено графік тестового плану, де ми змоделювали 100 користувачів, які зайшли на веб-сайт www.google.com.

Запустіть тест і отримайте результат тесту

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

  • Чорний: загальна кількість надісланих зразків.
  • синій: поточне середнє значення всіх надісланих зразків.
  • червоний: поточне стандартне відхилення.
  • зелений: Пропускна здатність, що представляє кількість запитів за хвилину, які обробив сервер

Давайте проаналізуємо продуктивність сервера Google на малюнку нижче.

Запустіть тест і отримайте результат тесту

Щоб проаналізувати продуктивність тестованого веб-сервера, слід зосередитися на 2 параметрах

  • Пропускна здатність
  • Відхилення

Вкладка Пропускна здатність є найважливішим параметром. Він представляє здатність сервера витримувати велике навантаження. The вище Пропускна здатність є, краще це продуктивність сервера.

У цьому тесті пропускна здатність сервера Google становить 1,491.193/хв. Це означає, що сервер Google може обробляти 1,491.193 XNUMX запити за хвилину. Це значення досить високе, тому ми можемо зробити висновок, що сервер Google має хорошу продуктивність

Вкладка відхилення червоним кольором – це вказує на відхилення від середнього. The менше краще.

Давайте порівняємо продуктивність сервера Google з іншими веб-серверами. Це результат перевірки продуктивності веб-сайту http://www.yahoo.com/ (Ви можете вибрати інші сайти)

Запустіть тест і отримайте результат тесту

Пропускна здатність тестованого веб-сайту http://www.yahoo.com становить 867.326/хв. Це означає, що цей сервер обробляє 867.326 XNUMX запитів на хвилину, що менше, ніж Google.

Відхилення становить 2689, що набагато вище, ніж у Google (577). Тож ми можемо визначити продуктивність цього веб-сайту нижчу, ніж продуктивність сервера Google.

ПРИМІТКА: Наведені вище значення залежать від кількох факторів, як-от поточне навантаження на сервер Google, швидкість вашого Інтернету, потужність процесора тощо. Отже, дуже малоймовірно, що ви отримаєте такі ж результати, як вище. Тому не панікуйте! Якщо вам цікаво зрозуміти, як навантаження на сервер впливає на продуктивність і як це перевірити, ви можете знайти це підручник з навантажувального тестування корисний

Пошук і усунення несправностей

Якщо ви зіткнулися з проблемою під час виконання описаного вище сценарію... виконайте наступне

  1. Перевірте, чи ви підключаєтесь до Інтернету через проксі. Якщо так, видаліть проксі.
  2. Відкрийте новий екземпляр Jmeter
  3. Відкрийте PerformanceTestPlan.jmx в Jmeter
  4. Double Натисніть «Група потоків» -> «Результат графіка».
  5. Запустіть тест