Load Testing: инструменты тестирования производительности
Язык буткемпа: Python
Мы создаем и развиваем инструментарий нагрузочного тестирования, активно используемый внутри компании и за её пределами. Для любого сервиса, обслуживающего запросы пользователей, требуется обязательное понимание пределов его производительности и поиск слабых мест, влияющих на надёжность сервиса в целом. Инструменты нагрузочного тестирования спроектированы так, чтобы обеспечить генерацию нагрузки и сбор метрик при тестировании сервисов, способных обработать сотни тысяч запросов в секунду.
Стек
Python 3 | Основной язык |
---|---|
Go | Вспомогательный язык |
Django, grpc, SQLalchemy, pandas | Фреймворки |
PostreSQL, ClickHouse | Базы данных |
Команда
Распределённая команда бэкенд разработчиков и экспертов нагрузочного тестирования
Особенности
- Команда сделала много инструментов, которые активно используются как внутри Яндекса, так и снаружи, мы всегда открыты для новых идей.
- За счёт предметной области у нас очень широкий спектр задач. Можно попробовать себя как в роли классического бэкенд-разработчика, заняться оптимизациями кода, глубоко разобраться в тюнинге ядра или написать сложную автоматику.
- Мы стараемся выкладывать наши инструменты в opensource:
- yandex-tank — инструмент для проведения нагрузочного тестирования любой сложности;
- pandora — высокопроизводительный и очень гибкий генератор нагрузки.
Вызовы
Разработанные нами инструменты активно используются нагрузочными тестировщиками. Но практики разработки и тестирования развиваются. На данный момент мы активно развиваем экосистему для нагрузочного тестирования, которая сделает многие процессы намного проще.