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

Зміст:

Anonim

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

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

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

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

Засіб тестування Apache JMeter пропонує наступні переваги в тестуванні продуктивності

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

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

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

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

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

У цьому підручнику ми проводимо аналіз ефективності Google.com для 1000 користувачів

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

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

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

Крок 1) Додати групу ниток

  1. Запустіть JMeter
  2. Виберіть План випробувань на дереві
  3. Додати групу ниток

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

На панелі керування Thread Group введіть Thread Properties таким чином:

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

Кількість ниток і кількість петель відрізняються.

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

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

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

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

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

На панелі керування запитом HTTP за замовчуванням введіть тестоване ім’я веб-сайту (http://www.google.com)

  • Запит HTTP

Клацніть правою кнопкою миші на Thread Group і виберіть: Add -> Sampler -> HTTP Request .

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

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

Якщо залишити поле Шлях пустим, JMeter створить запит URL-адреси http://www.google.com до сервера Google.

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

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

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

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

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

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

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

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

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

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

To analyze the performance of the web server under test, you should focus on 2 parameters

  • Throughput
  • Deviation

The Throughput is the most important parameter. It represents the ability of the server to handle a heavy load. The higher the Throughput is, the better is the server performance.

In this test, the throughput of Google server is 1,491.193/minute. It means Google server can handle 1,491.193 requests per minute. This value is quite high so we can conclude that Google server has good performance

The deviation is shown in red - it indicates the deviation from the average. The smaller the better.

Let compare the performance of Google server to other web servers. This is the performance test result of website http://www.yahoo.com/ (You can choose other websites)

The throughput of a website under test http://www.yahoo.com is 867.326/minutes. It means this server handle 867.326 requests per minute, lower than Google.

The deviation is 2689, much higher than Google (577). So we can determine the performance of this website is less than a Google server.

NOTE: The above values depend on several factors like current server load at Google, your internet speed, your CPU power etc. Hence, it's very unlikely that you will get the same results as above. So don't panic!

Troubleshooting:

If you face the issue while running the above scenario… do the following

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