О проекте
Клиент:
Продукт:
Функционал:
- Подписание документов и доступ к сложным сценариям (последовательное, одностороннее, массовое подписание и др.)
- Поддержка всех видов электронных подписей (УКЭП, УНЭП, УНЭП ЕСИА (Госключ), Госуслуги, ПЭП, подключение учетной записи Госуслуг в качестве подписи)
- Интеграция с 1C, SAP, «БОСС-Кадровик», корпоративным порталом Битрикс24, порталом «Работа в России»
- Управление документооборотом
Задача:
Цели:
- Оценка производительности системы при увеличении нагрузки
- Обеспечение устойчивости в моменты пиковых нагрузок
- Выявление узких мест и рекомендации по их устранению
Вызовы проекта
Работа над HRlink была не совсем простой: нужно было создать среду, которая в полной мере отражала бы продуктивную. Масштабы требовали генерации значительного количества уникальных тестовых данных, чтобы адекватно имитировать реальную нагрузку. При этом важно было учесть все интерфейсы, цифровые подписи, работу эмуляторов внешних систем и других компонентов.
Одним из препятствий стала работа над заглушкой сервиса для подписания документов «Астрал». Он имел минимальную документацию: были только примеры запросов / ответов и знания разработчиков — это усложняло процесс его моделирования. Также возникли трудности с сериализацией данных и их несоответствием с продуктивной средой. В итоге разработка и доработки заняли почти два месяца.
Вторая проблема возникла с составлением профиля нагрузки. Изначально была предоставлена статистика для cloud storage, однако команда проводила тестирование on-premise, на собственных серверах. То есть данные были рассчитаны на сценарии, характерные для облачной инфраструктуры. Первые тесты не доходили и до 10% нагрузки, поэтому было необходимо повысить показатели для корректного тестирования.
Кроме того, не выполнялись требования к стенду
Тестовый стенд был размещен на одном хосте, хотя в проде их было три. Вместе с этим происходила ежедневная перезагрузка всего стенда, которую нельзя было отключить, и иногда возникали проблемы с запуском системы. Это приводило к тому, что почти каждый понедельник до половины рабочего дня стенд восстанавливали.
Перед командой стояла задача улучшить производительность системы, поработать с узкими местами и исправить технические недочеты, а также обучить сотрудников заказчика, чтобы они могли проводить дальнейшие тесты самостоятельно.
Процесс тестирования
«Наша команда состояла из четырех человек. Подготовка заняла примерно полтора месяца: мы собирали профили, писали скрипты, настраивали мониторинг. Потом стали проводить пробные запуски. Были проблемы и со стендом, и с генерацией данных, но командно с разработчиками из HRlink все получилось решить. Мы каждый день сверялись, иногда организовывали дополнительные встречи по вопросам заказчика. Артефакты, которые написали, отчеты, заглушки — все мы передали коллегам из HRlink. В общем-то, у нас получилось провести хорошее нагрузочное тестирование, как минимум потому, что заказчик остался доволен. Это главный критерий».
Ведущий инженер по нагрузочному тестированию
Boomq
JMeter
Docker
PostgreSQL
основная база данных системы. Высокая производительность и надежность позволили успешно провести стресс-тесты операций.
Упор был сделан на тестирование четырех ключевых сценариев, среди них — создание и подписание документов, отправка локальных нормативных актов (ЛНА), создание и обработка заявлений, выпуск и подписание УНЭП. Кроме того, были проработаны высокоинтенсивные методы, задействующие одновременно до 17 различных сервисов.
Три месяца работы и отличный итог — отлаженная система с высокой производительностью (она была увеличена в пять раз!) и готовностью к большой пользовательской нагрузке.
Результаты проекта
Проведены тесты стабильности — система готова выдерживать нагрузку до 10 млн пользователей без изменений в архитектуре
Максимальная производительность увеличена со 100% базового профиля до 500%
Производительность по ключевой операции подписания документа увеличена с 200 000 до 1 000 000 подписаний в сутки
Выявлены узкие места системы и проведена оценка проблемных компонентов
Разработаны два мока внешних систем
Разработаны сценарии для тестов в Boomq
Также после технических работ команда провела обучение сотрудников HRlink. Благодаря этому они могут самостоятельно заниматься тестированием и пользоваться предоставленными рекомендациями по улучшению проекта.
Почему это важно
Кадровый электронный документооборот, на котором специализируется HRlink, называют трендом уходящего 2024 года, особенно в IT-отрасли, и многие компании используют его как основной способ работы с документами. Это неудивительно — он ускоряет и облегчает бюрократические процессы и существенно снижает расходы. С 2021 года КЭДО стал доступен всем компаниям, соответствующие поправки есть в Трудовом кодексе РФ.
Наш клиент, «Инновации в управлении кадрами», является лидером в создании таких решений. На базе HRlink уже работают 30% IT-компаний, а платформа обладает важным для рынка функционалом: интеграцией с сервисами для цифровой подписи, внешними системами и возможностью реализации сложных технических решений.
Наша работа доказывает, что нагрузочное тестирование является крайне важным инструментом для улучшения показателей, развития и масштабирования проектов. Передав такие задачи специалистам, которые обладают нужными компетенциями и знают, как оптимизировать процессы, компании могут сосредоточиться на создании новых продуктов, минимизируя риски и снижая затраты.