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

Що таке тестування часу відгуку?
Тестування часу відгуку вимірює час, необхідний одному системному вузлу для відповіді на запит іншого. Це інтервал між надходженням запиту та завершенням відповідного процесу. Наприклад, у вас є API, і ви хочете точно знати, скільки часу потрібно для його виконання та повернення даних у форматі JSON. Час відповіді вимірює відповідь сервера на кожну окрему транзакцію або запит.
Час відповіді починається, коли користувач надсилає запит, і закінчується в момент, коли програма повідомляє, що запит виконано.
Як виміряти час відгуку
Для вимірювання часу відповіді, ми можемо використовувати інструменти тестування, оточуючи важливий бізнес-процес транзакціями «Початок» і «Кінець». Бізнес-процес може являти собою дію або набір дій, які користувачі виконують у програмі для виконання бізнес-завдання, як-от вхід у програму або придбання книги на Amazon.com

Для того самого процесу вимірювання часу відповіді для API, відповідь дещо відрізнятиметься від інструменту до інструменту. Ось чому
- Крок 1) Метод розрахунку показників, зібраних кожним інструментом перевірки часу відгуку API
- Крок 2) Інструменти Симулюйте швидкість завантаження та захоплення, що може вплинути на час відгуку
- Крок 3) Додаткові елементи, записані під час моніторингу навантажень користувачів
- Крок 4) Обчислення показників, зібраних кожним інструментом, збільшує час відгуку через високе споживання ресурсів.
- Крок 5) Архітектура двох інструментів може бути різною
Типи показників відповіді
| Показники часу відповіді | Пояснення |
|---|---|
| Середній час відгуку | Середній час відповіді – це середній час, витрачений на кожен запит на зворотну поїздку. Середній час відповіді включає час завантаження HTML, CSS, XML, зображень, JavaФайли сценаріїв тощо. Тому на середнє значення впливає наявність повільних компонентів у системі. |
| Піковий час відгуку | Піковий час відгуку допомагає нам знаходити потенційно проблемні компоненти. Це допомагає нам знайти всі порушення на веб-сайті чи в системі, де певний запит не обробляється належним чином. Наприклад, може бути виконано великий запит до бази даних, що може вплинути на час відповіді. Цей запит не дозволяє сторінці завантажуватися в потрібний час. |
| Частота помилок | Коефіцієнт помилок – це математичний розрахунок, який відображає відсоток проблемних запитів відносно всіх запитів. Цей відсоток враховує всі коди стану HTTP, що відображають помилку на сервері. Він також враховує запити, для яких минув час очікування. |
Три важливі порогові значення часу реагування
У будь-якому звіті про час реагування найважливіше значення мають дві цифри:
- Середній час відгуку
- Максимальний, або піковий, час відгуку
Разом вони показують, скільки зазвичай чекає користувач, і скільки чекає найневдачливіший користувач.
Нижче наведено приклади ключових значень тестування часу відгуку
| Час реакції | Значення |
|---|---|
| По-друге 0.1 | Це найбільш бажаний час відповіді. Якщо час відгуку дорівнює 0.1, користувачі завжди відчувають, що програма або система реагують миттєво, і не відчувають жодних переривань. |
| По-друге 1.0 | Це прийнятна верхня межа для безперебійної роботи. Користувачі навряд чи відчують будь-які перерви, хоча можуть зіткнутися з певною затримкою. Час відгуку більше 1 секунди може перервати роботу користувача. |
| 10 секунди | Це максимальна межа, після якої час відгуку перевищує прийнятну межу. Однак у наш час, якщо час відповіді перевищує 6 секунд, користувач залишає цей сайт або закриває програму. |
Прагніть до діапазону від 0.1 до 1 секунди, де це можливо. Користувачі адаптуються до повільніших систем, але задоволення різко падає після приблизно 2 секунд, і кожна додаткова секунда збільшує кількість відмов.
Інструменти тестування часу відгуку
Існує багато інструментів для тестування часу відгуку. Два з них найбільш широко використовуються:
1) JMeter
Apache JMeter це інструмент тестування навантаження з відкритим кодом. Він призначений для вимірювання продуктивності веб-сайтів. Цей інструмент навантажувального тестування можна використовувати в методології DevOps.
Особливості гри:
- JMeter дозволяє проводити тести навантаження та продуктивності для різних типів серверів.
- Цей інструмент навантажувального тестування зберігає свої плани тестування у форматі XML, що дозволяє користувачам створювати план тестування за допомогою текстового редактора.
- Інструмент можна використовувати для виконання автоматизованих і функціональне тестування додатків.
Посилання для скачування: Apache JMeter завантажень
2) Навантажувач
Loadrunner від Micro Focus – це широко використовуваний інструмент для тестування навантаження. Це одна з найкращих альтернатив JMeter який пропонує зручний інтерфейс моніторингу та аналізу з кольоровими діаграмами та графікою.
Особливості гри:
- Підтримує постійне тестування
- LoadRunner може ефективно працювати в кількох корпоративних середовищах
- Можна запускати сценарії з кількома протоколами за допомогою Loadrunner
- Інтеграція з різними інструментами розробки, такими як Visual Studio, Jenkins, Selenium, І т.д.
Посилання для скачування: LoadRunner Professional
Як цей тест підходить для сімейства тестів продуктивності
Тестування продуктивності – це загальний термін. Варіанти, наведені нижче, відрізняються лише формою прикладеного навантаження та тривалістю його утримання, тому їх так часто плутають один з одним.
| Тип тесту | Схема навантаження | Питання, на яке воно відповідає |
|---|---|---|
| Тестування навантаженням | Очікуване пікове навантаження, короткочасна тривалість | Чи досягає система своїх цілей за нормальних пікових навантажень? |
| Стресові випробування | Збільшення за межі ємності до відмови | Де воно ламається, і чи виходить з ладу належним чином? |
| Спайкове тестування | Раптовий екстремальний сплеск, потім відмова | Чи виживе воно та відновиться після дорожнього шоку? |
| Випробування на витривалість | Нормальне навантаження витримується протягом багатьох годин | Чи знижується продуктивність з часом? |
| Випробування замочуванням | Постійне навантаження протягом тривалого періоду | Чи є витоки пам'яті або виснаження ресурсів? |
| Тестування стабільності | Зміна навантаження залежно від умов | Чи залишається система надійною, коли умови змінюються? |
| Об'ємне тестування | Звичайні користувачі, дуже великий обсяг даних | Чи справляється воно зі зростанням бази даних? |
Випробування на витривалість та замочування часто розглядаються як синоніми. У загальному вжитку це: обидва витримують стійке навантаження протягом тривалого періоду. Там, де команди їх розрізняють, тестування на витривалість зосереджується на тому, чи збільшується час відгуку, тоді як тестування на замочування зосереджується на споживанні ресурсів, таких як пам'ять, дескриптори файлів та пули підключень. Запуск одного з них зазвичай дає докази для обох.
Тестування часу відгуку: ключові висновки
- Час відповіді – це час, необхідний одному вузлу системи для відповіді на запит іншого.
- Середній час відповіді в тестування працездатності це середній час, витрачений на кожен запит на поїздку туди й назад.
- Піковий час відгуку показує, які компоненти потенційно проблемні.
- Частота помилок – це математичний розрахунок, який відображає відсоток проблемних запитів.
- Три важливі значення часу відповіді: 0.1 секунди, 1.0 секунди та 10 секунд.
- Два найпоширеніші інструменти для тестування часу відгуку – це JMeter та LoadRunner.


