• Час читання ~6 хв
  • 19.06.2023

Коли справа доходить до тестування API, ви, можливо, задавалися питанням деякі або всі з цих питань:

  • Як працюватимуть мої API в реальних ситуаціях?

  • Як зміниться час відгуку, коли запити надсилають кілька користувачів одночасно?

  • Чи побачать мої користувачі прийнятний час відгуку, коли моя система завантажена, або вони побачать помилки?

  • Як я можу визначити вузькі місця продуктивності, які можуть стати серйозними виробничими проблемами?

Якщо так, ви, ймовірно, зрозуміли, що в міру масштабування ефективність вашого API впливає на успіх ваших продуктів і бізнесу.

Щоб вирішити вищезазначені проблеми, ми нещодавно запустили ранній доступ до нової захоплюючої функції тестування продуктивності API від Postman. Дізнайтеся більше про те, що і чому стоїть за цим оновленням платформи API Postman, яке змінює гру, у цій публікації в блозі раннього доступу.

Сьогодні ми раді оголосити про загальну доступність тестування продуктивності API за допомогою Postman.

Впровадження тестування продуктивності API в Postman з тестування продуктивності вашого машинного

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

Тестування продуктивності API може допомогти вам:

  1. Переконайтеся, що ваш API може впоратися з очікуваним навантаженням і перевірте, як API реагує на зміни навантаження (навантаження - це кількість паралельних користувачів, які одночасно потрапляють у ваші API).

  2. Оптимізуйте та покращуйте продуктивність API, щоб забезпечити кращий досвід користувача.

  3. Визначте будь-які вузькі місця, затримку та збої та визначте масштабованість системи.

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

  1. Використання Postman для імітації навантаження, коли кілька паралельних віртуальних користувачів потрапляють у ваші кінцеві точки.

  2. Візуалізація продуктивності ваших API під модельованим навантаженням в режимі реального часу. Ми покажемо вам, як стежити за часом відгуку, пропускною здатністю (кількість звернень запитів в секунду) і частотою помилок, щоб ви могли стежити за показниками ефективності свого API.

Як використовувати Postman для тестування

продуктивності API Ви можете використовувати Postman's Collection Runner, щоб налаштувати тест продуктивності в Postman, виконавши такі дії:Крок 1: Виберіть колекцію, виберіть середовище (необов'язково) і натисніть Виконати:

 Якщо у вас немає колекції, дізнайтеся більше про те, як швидко створити її в Postman.

Зверніть увагу, що Postman також виконає всі ваші сценарії попереднього запиту та тестування разом із запитами.

Крок 2: Виберіть продуктивність вкладка під Runner, вкажіть налаштування завантаження та натисніть Run:Step 3: Спостерігайте за часом відгуку та частотою помилок у режимі реального часу:

 

Ви також можете перемикати легенду, щоб переглядати запити в секунду.

Крок 4: Після завершення запуску спостерігайте та визначайте вузькі місця в часі відгуку та запитах в секунду:

Як налаштувати навантаження для імітації реального трафіку Тепер ви можете використовувати Collection Runner для імітації реального трафіку

. Ви зможете вказати наступні входи для імітації стану навантаження:

  • Віртуальні користувачі (VU): Максимальна кількість паралельних користувачів, яких потрібно змоделювати.

  • Тривалість тесту: Проміжок часу (у хвилинах), протягом якого потрібно запустити тест

  • .Профіль навантаження: Інтенсивність навантаження протягом тривалості тесту. Наразі ми підтримуємо два профілі завантаження: "Фіксований" профіль навантаження: Це застосовуватиме фіксовану кількість віртуальних користувачів протягом усієї тривалості тесту:


    1. Профіль навантаження "Збільшити": Це повільно збільшить кількість віртуальних користувачів під час "збільшення тривалості", щоб досягти зазначеного навантаження. Після досягнення ця кількість віртуальних користувачів буде зберігатися протягом решти тривалості:

Як віртуальні користувачі допомагають імітувати навантаження на робочі процеси

API Віртуальні користувачі - це паралельні користувачі, які одночасно потраплять у ваші API. Кожен віртуальний користувач виконує вибрану послідовність запитів у колекції в послідовному порядку, як це представлено на Collection Runner. Кілька віртуальних користувачів будуть запускати цю послідовність паралельно, створюючи навантаження для ваших робочих процесів API. Наприклад, запит на вхід, за яким слідують запит на додавання в кошик і запит на оформлення замовлення, являє собою робочий процес, і кожен віртуальний користувач буде виконувати цей робочий процес. Якщо ви хочете протестувати свої API ізольовано, радимо тестувати один запит за раз.

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

Ми пропонуємо до 100 безкоштовних віртуальних користувачів у нашому безкоштовному плані. Ви можете перейти на платний план тестування з більшою кількістю віртуальних користувачів.

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

Візуалізація показників тесту

продуктивності Як тільки почнеться тест продуктивності, ви зможете візуалізувати та спостерігати за продуктивністю своїх API. Postman покаже наступні показники в режимі реального часу:Середній час відповіді:

  1. Це середнє значення часу відповіді, отриманого для кількох паралельних віртуальних користувачів за різними запитами.

  2. Запитів в секунду: Показник запитів в секунду (пропускна здатність) допомагає вам визначити, скільки запитів може обслуговувати ваш API в секунду. Кожен віртуальний користувач постійно досягає ваших кінцевих точок, і залежно від часу відгуку кожен віртуальний користувач може надіслати кілька запитів за секунду. Наприклад, налаштування 10 віртуальних користувачів для тестування запиту GET, на який ви очікуєте відповісти в ~ 200 мс, може виробляти в кращому випадку 50 запитів в секунду. Однак реалістична кількість звернень запиту в секунду буде залежати від часу відгуку вашого API та інших різних факторів, таких як використання сценаріїв попереднього запиту або тестування.

  3. Частота помилок: Цей показник вказує на частку запитів, які отримують відповідь не 2XX або стикаються з помилками без HTTP під час надсилання запиту.

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

Виправлення помилок під час виконання тестів продуктивності Коли

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


Ми хотіли б висловити велику подяку нашій захопленій спільноті перших користувачів, які спробували продукт у нашому випуску канарки та дали нам відгуки, які призвели до цього покращення!

Деталізуйте свої показники за запитом Деталізація запиту

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

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

Ми сподіваємося, що за допомогою цієї нової функції вам буде легше перевірити продуктивність вашого API та зробити тестування продуктивності API частиною ваших життєвих циклів

розробки. Наша мета в Postman — демократизувати тестування продуктивності API для всіх розробників і тестувальників API у світі, так само, як ми це робили для функціонального тестування API кілька років тому.

Дізнатися більше про тестування продуктивності API можна в нашому навчальному центрі. Ми надаємо до 25 тестових запусків продуктивності безкоштовно на щомісячній основі в нашому безкоштовному плані! Ви можете перейти на платний план для кращого використання. Дізнайтеся більше про наші різні плани тут.

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

Спробуйте Postman зараз

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297