Как осуществить нагрузочное тестирование сервиса HRlink (КЭДО): кейс «Перфоманс Лаб»

Как осуществить нагрузочное тестирование сервиса HRlink (КЭДО): кейс 171Перфоманс Лаб187

Компания «Перфоманс Лаб», лидер в области оценки производительности IT-систем, провела масштабное нагрузочное тестирование системы кадрового электронного документооборота (КЭДО) HRlink, разработанной ООО «Инновации в управлении кадрами». Цель проекта — обеспечить стабильной работой платформы при кратном росте пользовательской активности, что критично для развития бизнеса и решения задач импортозамещения. Компания «Перфоманс Лаб» рассказала обо всех стадиях этого масштабного проекта в статье, подготовленной специально для CISOCLUB.

О компании и системе

HRlink — высоконагруженная платформа кадрового электронного документооборота.
При кратном росте числа пользователей HRlink в России потребовалось масштабирование системы, чтобы выдерживать многократное увеличение нагрузки без ухудшения производительности.

Задачи проекта

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

Особенности проекта

Масштаб. HRlink обслуживает более 1,5 млн пользователей, и планируется рост до 10 млн. При этом каждый пользователь активно взаимодействует с системой: подписывает документы, получает уведомления, использует интерфейс API. Высокая степень нагрузки на ключевые компоненты требовала глубокого анализа и работы в ночное время, когда пользовательская активность снижена.
Данные и безопасность. Для тестирования системы было важно учитывать данные, максимально близкие к реальным. Однако HRlink придерживается строгих стандартов конфиденциальности, что исключало передачу настоящих данных. Это потребовало создания сложных эмуляторов и обезличенных наборов данных.
Интеграционные сценарии. Платформа включает сложную интеграцию с внешними системами через API. Это увеличило сложность составления профилей нагрузки и тестовых сценариев.
Работа с электронной подписью. Учет ЭЦП при тестировании требовал разработки оригинальных подходов в работе с подписями и специальных сценариев.

Процесс

Проект включал несколько этапов:

1. Создание методологии тестирования:
Разработка профилей нагрузки на основе сценариев реальной работы пользователей.
Учет требований по интеграции и эмуляции внешних систем.
2. Подготовка инфраструктуры:
Настройка среды, максимально близкой к промышленной.
Генерация уникальных тестовых данных.
3. Реализация тестовых сценариев:
Написание нагрузочных скриптов.
Эмуляция API и других внешних взаимодействий.
4. Проведение тестирования:
Отладочные тесты в ночное время (для минимизации влияния на основную систему).
Основное тестирование с фиксацией всех ключевых показателей.
5. Анализ и оптимизация:
Локализация узких мест.
Разработка рекомендаций по улучшению производительности.
6. Заключительный этап:
Подготовка отчёта с результатами нагрузочного тестирования, включающего рекомендации по устранению проблемных зон и оптимизации производительности.
Передача экспертизы клиенту, позволяющая его команде самостоятельно выявлять и дорабатывать узкие места в системе.

Используемые технологии

Для реализации проекта использовались следующие инструменты:

Boomq — платформа для оценки производительности и стабильности систем.
Docker-compose — запуск эмуляторов внешних систем.
Мониторинг — Zabbix, Grafana, Prometheus.
База данных — PostgreSQL (версия 14).
Эмуляторы — разработаны на Java с использованием Spring Boot.
Серверная часть — Play Framework.

Результаты

  • Система продемонстрировала стабильную работу при увеличении производительности до 500% от базового уровня.
  • Подготовлена к поддержке 10 млн пользователей без изменений в архитектуре.
  • Количество подписаний увеличено с 200 тыс. в сутки до 1 млн.
  • Локализованы проблемные компоненты, ограничивающие производительность. Представлены рекомендации по их устранению.
  • Разработаны и переданы заказчику рекомендации по настройке тестового стенда и архитектуры системы.

По словам Михаила Мериина, руководителя проектов «Перфоманс Лаб»: «Проект по нагрузочному тестированию HRlink стал ключевым этапом в масштабировании платформы. Результаты тестирования позволили не только обеспечить отказоустойчивость системы, но и повысить ее конкурентоспособность на рынке.»

Сергей Красноперов, CPO и руководитель проекта со стороны заказчика, поделился:
«Сотрудничество с «Перфоманс Лаб» дало нам больше, чем мы ожидали. Мы не просто получили готовое решение, но и приобрели глубокое понимание, как работать с высоконагруженными системами. Теперь наша команда готова самостоятельно решать сложные задачи и уверенно смотреть на перспективы роста.»

Перфоманс Лаб
Автор: Перфоманс Лаб
«Перфоманс Лаб» — ведущий эксперт в области обеспечения качества, существует с 2008 года. Тестируя системы заказчиков, мы помогаем бизнесу развиваться.
Комментарии: