• Время чтения ~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: Выберите вкладку «Производительность» в разделе «Выполнитель», укажите настройки загрузки и нажмите «Выполнить»:Шаг 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