Введение в нагрузочное тестирование с использованием Locust и Python — Габриэль Бурс
SF Python
0:00 / 0:00
Введение в нагрузочное тестирование с использованием Locust и Python — Габриэль Бурс
30 901 просмотр · 7 л. назад
SF Python
19 тыс. подписчиков
30 901 просмотр · 7 л. назад
Этот доклад был представлен на PyBay2019 — 4-й ежегодной региональной конференции Python в районе залива Сан-Франциско. Более подробную информацию о PyBay можно найти на сайте pybay.com, а для получения дополнительной информации о докладе нажмите «ПОКАЗАТЬ БОЛЬШЕ».
Описание
Затрудняетесь с проблемами производительности в продакшене? Непонятные ошибки бэкенда сводят вас с ума? Выпустите на ваше веб-приложение целую армию Locust, чтобы навсегда устранить проблемы с производительностью! В этом докладе вы узнаете, как использовать Locust для нагрузочного тестирования RESTful-сервисов и многого другого.
Аннотация
Обзор:
Locust — это библиотека Python с открытым исходным кодом, которую можно использовать для выявления узких мест в вашем коде, задействуя десятки, сотни или даже тысячи отдельных рабочих процессов. Используя Locust, мы можем имитировать непрерывный трафик, который веб-приложения испытывают в реальных условиях. Этот вид нагрузочного тестирования, как и любой другой инструмент в арсенале тестировщика, играет решающую роль в процессе создания надежного, стабильного и проверенного в боевых условиях программного обеспечения.
Приходите на этот доклад, чтобы получить практическое, базовое введение в нагрузочное тестирование, написание файла locustfile.py и отладку проблем, возникающих при первой нагрузке приложения сотнями или даже тысячами запросов в минуту. Кроме того, мы рассмотрим способы максимально эффективного использования встроенных механизмов отчетности Locust и рандомизацию входящего трафика для более реалистичных сценариев тестирования. Наконец, я продемонстрирую распределенное нагрузочное тестирование с использованием нескольких серверов-агентов и контроллера.
Так чего же вы ждете? Устройте катастрофу библейских масштабов и организуйте апокалипсис для вашего приложения… ради науки!
Предупреждение: во время доклада допустимы плохие каламбуры и обилие аллитерации.
План:
Что такое нагрузочное тестирование и зачем оно нужно?
Имитация пользователей
Определение операционной мощности и точек отказа
Знание последствий вашего кода!
В чем разница между функциональным и нагрузочным тестированием?
Идеальные результаты второстепенны
Секрет успешного нагрузочного тестирования: вам не нужно, чтобы эти тесты прошли!
Почему нагрузочное тестирование так важно при разработке программного обеспечения сегодня?
Запуск приложений в масштабе и знание того, когда выделять ресурсы
Корректное реагирование на сбои и отказоустойчивость
ЛОМАЙТЕ ВСЁ.
Написание вашего первого файла locustfile.py
Определение набора задач
Рандомизация задач и установка весов
Последовательное выполнение задач
Понимание результатов нагрузочного тестирования и отладка распространенных проблем
Распределенное нагрузочное тестирование
Использование архитектуры агент/контроллер для координации запросов
Варианты мониторинга приложений в масштабе
Краткое введение в тестирование приложений, не являющихся RESTful-сервисами
Оригинальные слайды: https://drive.google.com/file/d/1AJmo...
О докладчике
Габриэль работает удаленно в стартапе в Сан-Франциско в качестве старшего инженера-программиста и в основном использует языки программирования JVM. Однако он давно поддерживает сообщество Python и с удовольствием пишет на Python везде, где это возможно. Спросите его о преимуществах и недостатках Java и Python и почему он считает, что легкие темы — действительно лучший выбор!
Благодарность спонсорам
Этот и другие видеоролики PyBay2019 созданы при поддержке нашего медиа-партнера AlphaVoice (https://www.alphavoice.io/)!
#pybay #pybay2019 #python #python3 #gdb