Если вы являетесь разработчиком, который работает в поле, где вас просят создать или поддерживать API отдыха в качестве ежедневной работы, вы, наверняка, наверняка оказались в необходимости тестирования производительности API в какой-то момент. Я нашел очень хороший и простой инструмент для этого: Саранча Отказ
На саранке есть несколько приятных функций, которые мне очень нравятся:
- Поддержка распределенного развертывания. Вы можете создать много клиентов, все управляемые одним мастером, чтобы общими много тестовых вызовов.
- Python на основе. Код для тестирования целевого API является простой Python, все в одном файле («locustfile.py»), с некоторыми конкретными объектами, предоставляемыми доступными саранчой, чтобы облегчить жизнь. Мне это действительно нравится.
- Один файл саранча может размещать более одного теста, и каждый тест может иметь свой вес, чтобы вы могли точно решить, как распространять рабочую нагрузку
- Имеет хороший пользовательский интерфейс, который четко показывает запрос в секундах со временем и, в случае, исключениях и сбои
- Работает очень хорошо с докером и может быть докеренным менее чем за 150 мегабайт
Для того, чтобы использовать саранчу в Azure в простейшем и простом способе возможно, я создаю докерный образ на Docker Hub:
https://hub.docker.com/repository/docker/yorek/locustio
Как я действительно хотел, чтобы некоторые действительно легко и просто использовать, я решил пойти на Азудные контейнерные экземпляры И REPO с кодом сценариев для развертывания сайте можно доступен здесь:
https://github.com/yorek/locust-on-azure
Если вы более склонны использовать более сложный, но более полный контейнерный оркестратор, конечно, Kubernetes может быть лучшим вариантом. В упомянутом репо, скрипт позаботится обо всем, что необходимо запустить саранчу на Azure:
- Создайте учетную запись хранилища для размещения файла сакунов
- Создать акцию хранения для файла саранча
- Загрузить файл саранчи
- Разверните главный саранчу и желаемые клиенты в экземплярах Azure контейнера
- Настроить Master и Clients правильно
- бежать на саранчовый рой
Легко и приятно, теперь я могу запустить тест на устойчивость и производительность моей API.
Оригинал: “https://dev.to/azure/running-locust-on-azure-2k40”