
Результаты нагрузочного тестирования платформы TESSA: ключевые выводы и рекомендации
Современные проекты автоматизации документооборота все чаще включают в себя процедуру нагрузочного тестирования как обязательное требование. Проведение нагрузочного тестирования позволяет оценить стабильность, производительность и отказоустойчивость внедряемого решения в условиях реальной эксплуатации, в том числе в моменты пиковых нагрузок.
В данной статье подробно рассматривается методика проведения нагрузочного тестирования платформы TESSA, конфигурация тестового стенда, сценарии пользовательской активности и анализ полученных результатов. В конце даны практические рекомендации по оптимизации проектного решения на платформе, которые будут особенно актуальны для корпоративных заказчиков, планирующих внедрение платформы с потенциально высокой нагрузкой.
Цели и методология тестирования
Главная цель исследования — определить ключевые параметры производительности платформы TESSA путем моделирования нагрузки. Для исследования было выбрано три сценария, которые выполнялись в системе TESSA параллельно.
Сценарии нагрузочного тестирования
СЦЕНАРИЙ №1. АВТОМАТИЗИРОВАННАЯ ОБРАБОТКА ДОКУМЕНТОВ «ЭЛДОК1»
В ходе выполнения данного сценария в TESSA автоматически формируется новая карточка комплекта и новая карточка документа, включенного в данный комплект. В карточку документа вложен файл, полученный путем интеграционного взаимодействия. Это имитация реального рабочего процесса, когда в системе формируется комплект документов по той или иной задаче.
Сценарий включает в себя автоматическую обработку документа и подписание простой электронной подписью (ПЭП), направление задания на исполнителя, а после его выполнения — автоматический перевод документа в состояние «Архивное хранение».
Обязательные параметры сценария:
- Наличие в карточке документа полей различного типа
- Размер файла вложения – 5 кб
- Тип файла вложения – XML
- Интеграционное взаимодействие в соответствии с архитектурным подходом REST API
Целевой показатель: 560 000 комплектов за 2 часа.
СЦЕНАРИЙ №2. АВТОМАТИЗИРОВАННАЯ ОБРАБОТКА ДОКУМЕНТОВ «ЭЛДОК2»
В ходе выполнения данного сценария в TESSA происходят все те же действия, что и в сценарии №1, но дополнительно в созданный комплект «ЭлДок2» добавляется комплект «ЭлДок1».
Обязательные параметры сценария:
- Наличие в карточке документа полей различного типа
- Размер файла вложения – 5 Кб
- Тип файла вложения – xml
- Интеграционное взаимодействие в соответствии с архитектурным подходом REST API
Целевой показатель: 60 000 комплектов за 2 часа.
СЦЕНАРИЙ №3. РУЧНАЯ ОБРАБОТКА ДОКУМЕНТОВ ПОЛЬЗОВАТЕЛЯМИ
В ходе выполнения данного сценария в TESSA происходит ручная обработка комплекта документов из «ЭлДок1», которая включает в себя следующие пользовательские действия:
Авторизация в системе
Открытие представления «Мои задания»
Открытие карточки с заданием
Отображение печатной формы документа
Заметка
Печатная форма представлена в виде виртуального файла, содержание которого формируется по преднастроенному шаблону только в момент обращения к данному файлу (система собирает необходимые актуальные данные из БД).
Вложение файла
Завершение задания и смена состояния карточки на «Архивное хранение»
Целевой показатель: 144 000 операций за 2 часа с временем отклика не более 3 000 мсек на каждую операцию.
Метрики
Для оценки результатов тестирования при одновременном выполнении трех сценариев были выделены следующие метрики:
- Количество обработанных комплектов
- Время отклика системы
- Пропускная способность
- Количество ошибок
Архитектура тестового стенда
Для тестирования использовался кластер со следующей конфигурацией (на всех серверах используется ОС Linux):
- Сервер генерации нагрузки: JMeter на 12-ядерном процессоре с 48 ГБ RAM
- Сервер приложений: 2 узла с TESSA, Nginx и мониторингом (24 ядра, 96 ГБ RAM)
- Сервер Chronos: 16 ядер, 2 GHz с 64 ГБ RAM
- Сервер СУБД: PostgreSQL на 96 ядрах с 480 ГБ RAM
- Файловое хранилище: управляемое S3-хранилище (Яндекс)
НАЧАЛЬНОЕ СОСТОЯНИЕ СИСТЕМЫ
К моменту проведения испытания база данных TESSA была наполнена тестовыми данными и содержала:
- Общее количество комплектов документов (сценарии 1+2): 440 млн.
- Общее количество связанных комплектов: 350 млн.
- Общее количество активных незавершённых заданий: 21 млн.
- Общее количество пользователей: 600 тыс.
- Общее количество экземпляров карточек: 1,2 млрд.
Для хранения тестовых данных в TESSA необходимо обеспечить 3 ТБ места на дисковой подсистеме сервера СУБД.
Методика тестирования
С помощью JMeter непрерывно выполняются запросы для создания комплектов документов. В каждом запросе передается пакет, содержащий один электронный документ.
За одну итерацию цикла создается:
- 8 комплектов типа «ЭлДок1», в одном из которых по документу создается задание
- 1 комплект типа «ЭлДок2», связанный со всеми «ЭлДок1» текущей итерации
Данный сценарий выбран как наиболее медленный с точки зрения обработки запросов, что позволяет оценить производительность системы при наиболее сложных условиях.
Также с помощью JMeter имитируются реальные действия пользователей, отправляющих запросы в TESSA, которые включают в себя:
- Получение списка заданий
- Открытие карточки комплекта и печатной формы
- Создание нового документа с прикреплением pdf-скана
- Завершение задания с обновлением карточки комплекта
Эти запросы выполняются каждым пользователем с интервалом 150±60 секунд. Частота запросов соответствует расчётной нагрузке при работе 30 000 пользователей.
Общие условия и ограничения сценария:
- Количество потоков подачи нагрузки для сценариев №1 и №2: 48
- Количество пользователей, одновременно выполняющих сценарий №3: 3 000
- Количество потоков обработки очереди формирования связей между ЭлДок1 и ЭлДок2: 8
Длительность тестирования составила 2 часа.
РЕЗУЛЬТАТЫ
Нагрузочное тестирование проводилось с использованием двух типов дисков на сервере PostgreSQL – сетевой SSD-диск (Network SSD) и нереплицируемый сетевой SSD-диск (Non-replicated Network SSD).
Такой подход позволил:
- Сравнить производительность разных типов дисковых хранилищ
- Оценить влияние замены компонентов инфраструктуры на отклик системы
- Получить данные для оптимизации конфигурации СУБД
Ключевой акцент в тестировании был сделан на выявление разницы в скорости обработки запросов и стабильности работы при длительной нагрузке между двумя конфигурациями хранилища.
Сценарии №1 и №2 (автоматизированная обработка)
Показатель | Ожидаемый результат | Вариант №1: Network SSD | Вариант №2: Non-replicated Network SSD |
---|---|---|---|
Общее кол-во созданных комплектов документов в «ЭлДок1» | 500 000 | 339 295 (-32%) | 905 197 (+81%) |
Общее кол-во созданных комплектов документов в «ЭлДок2» | 60 000 | 42 389 (-29%) | 113 125 (+86%) |
Время отклика, среднее | — | 914,75 мсек | 333,58 мсек |
Пропускная способность | — | 3 126,6 запросов/мин | 8 349,6 запросов/мин |
Количество ошибок[1] | — | 191 шт | 132 шт |
Сценарий №3 (ручная обработка)
Показатель | Ожидаемый результат | Вариант №1: Network SSD | Вариант №2: Non-replicated Network SSD |
---|---|---|---|
Общее кол-во обработанных комплектов (шт) | 144 000 | 127 903 (-11%) | 134 646 (-6%) |
Открытие представления «Мои задания», среднее | 3 000 мсек | 1 345 (-55%) | 316 (-89%) |
Открытие представления «Мои задания», 90 процентиль | 3 000 мсек | 10 513 (+250%) | 441 (-85%) |
Открытие ЭлДок, среднее | 3 000 мсек | 2 667 (-11%) | 312 (-89%) |
Открытие ЭлДок, 90 процентиль | 3 000 мсек | 27 913 (+830%) | 653 (-78%) |
Сохранение нового ЭлДок, среднее | 3 000 мсек | 1 237 (-59%) | 253 (-91%) |
Сохранение нового ЭлДок, 90 процентиль | 3 000 мсек | 4 037 (+35%) | 494 (-83%) |
Завершение задания, среднее | 3 000 мсек | 3 233 (+8%) | 669 (-77%) |
Завершение задания, 90 процентиль | 3 000 мсек | 11 635 (+288%) | 1 075 (-64%) |
Количество ошибок[2] | — | 2 760 | 10 |
Вывод
В ходе нагрузочного тестирования была продемонстрирована стабильная работа TESSA в условиях пиковой нагрузки, равнозначной двухгодичному объему документов.
Нагрузочное тестирование подтвердило, что платформа TESSA способна стабильно обрабатывать до полумиллиона документов в час при использовании нереплицируемого SSD-диска (Non-replicated Network SSD).
Главный вывод — использование нереплицируемого SSD-диска (Non-replicated Network SSD) показало значительный прирост производительности (до +86%), что делает его предпочтительным выбором для высоконагруженных проектных решений на базе платформы TESSA.
Нагрузочное тестирование выполнено партнёром вендора, компанией ECMGroup.Pro, в рамках проекта внедрения платформы TESSA для крупнейшего ретейлера России.