Top.Mail.Ru

Нагрузочное тестирование веб-приложения

QA

Продукт:

Платформа для проведения on-line тестирования

Итоги:

Организован и проведён полный цикл нагрузочного тестирования, включая:
  • Подготовку серверной инфраструктуры для тестирования.
  • Настройку фермы для генерации нагрузки.
  • Разработку и калибровку тестовых сценариев.

Выявлены критические узкие места в производительности системы.

Подготовлен подробный отчет с рекомендациями по улучшению:
  • Оптимизация использования серверной памяти.
  • Уменьшение времени обработки ключевых цепочек пользовательских действий.

Система успешно протестирована при нагрузке до 500 RPS, что соответствует ожидаемым требованиям клиента.

Период работы:

Апрель 2021

Задача:

Провести нагрузочное тестирование системы, разработать и выполнить тестовые сценарии, обеспечить мониторинг показателей и предоставить рекомендации по оптимизации.

Команда:

3 человека: QA инженер, DevOps специалисты.

Инструменты и технологии:

Apache JMeter, Terraform, Ansible, Yandex.Cloud, Grafana, Prometheus, MySQL, SQL, Jira, Confluence

Решение:

Этап 1. Подготовительный этап

  • Отправлен список вопросов клиенту для уточнения метрик, ограничений и ожиданий.
  • Определены ответственные лица и организованы коммуникационные каналы.
  • Согласованы цели, сроки и ограничения тестирования.

Этап 2. Подготовка инфраструктуры для тестирования

  • Развернута ферма для генерации нагрузки в облаке (Yandex.Cloud) с оптимальными характеристиками: 1 мастер-сервер: 2 CPU, 4GB RAM; 2 серверных ноды: 4 CPU, 16GB RAM каждая.
  • Отключены капча и токены для тестирования.
  • Настроена система мониторинга (Grafana + Prometheus).

Этап 3. Проектирование и разработка тестов

  • Проведён анализ пользовательских сценариев, включая цепочки действий с реальными таймаутами.
  • Определены и распределены потоки виртуальных пользователей по сценариям.
  • Разработан и откалиброван тест-план в Apache JMeter, включающий финальные сценарии.
  • Рассчитана нагрузка на основе калибровочных запусков.

Этап 4. Исполнение тестов и анализ результатов

  • Выполнены запуски тестов с ростом нагрузки до заданных уровней.
  • Проведен мониторинг метрик: время отклика, процент ошибок, использование CPU и RAM.
  • Выявлены узкие места и сформулированы рекомендации по оптимизации SQL-запросов, настройке кэширования на стороне сервера, увеличению числа серверов в кластере при пиковых нагрузках.

Этап 5. Завершение

  • Составлен детальный отчет с описанием процесса тестирования, результатов и рекомендаций.
  • Переданы заказчику тестовая документация, конфигурации JMeter и образ фермы для дальнейшего использования.
Нагрузочное тестирование — ключ к уверенности в стабильной работе высоконагруженных систем. Важно не только выявить узкие места, но и предложить клиенту оптимальные пути их решения.
Екатерина Зарубина, QA Lead Software Cats
Обсудить проект_
Если у вас есть ИТ-проблема, оставьте ваши контакты, и мы поможем составить план ее решения. Обещаем не слать спам.
Нажимая, я говорю «Да»
политике конфиденциальности
hello@softwarecats.dev
Новосибирск, ул. Демакова
23/5, оф.308
Контакты_

Еще про наши проекты: