Платформа Digital Q.BPM от «Диасофт» стабильно работает при нагрузке более 4 000 бизнес-процессов в секунду
Платформа Digital Q.BPM, входящая в экосистему low-code разработки микросервисных программных продуктов Digital Q от «Диасофт», успешно прошла масштабное нагрузочное тестирование на российском серверном оборудовании OpenYard. Результаты тестирования подтверждают готовность платформы к требованиям корпоративного сегмента: стабильность, высокая производительность, эластичность масштабирования и импортонезависимость.
Как проводилось тестирование
Для крупных организаций в силу масштаба их деятельности высокая производительность BPM-решений является одним из ключевых требований. Для понимания реальной производительности следует ориентироваться на подробные результаты нагрузочного тестирования.
Компания «Диасофт» еще при проектированииDigital Q.BPM использовала архитектурные подходы, которые позволили в ходе развития платформы достичь наилучших показателей производительности. Это стало возможным благодаря совершенствованию open sourсe компонентов Camunda, и обеспечению децентрализованного, независимого исполнения процессов в микросервисной среде, а также наличию варианта реализации среды исполнения бизнес-процессов на языке Go помимо привычного варианта на Java.
Платформа Digital Q.BPM предназначена для проектирования и исполнения бизнес-процессов, которые реализуют логику оркестрации сервисов, вычислений (на JS/Groovy) и управления пользовательскими задачами. Для удаленного вызова сервисов из бизнес-процессов применяются два основных подхода: синхронный вызов сервисов по REST API и асинхронный вариант с отправкой событий в брокер сообщений Kafka и обработкой полученных ответов.
Нагрузочное тестирование текущей версии платформы Digital Q.BPM проводилось при нагрузке системы в 1 000 потоков (пользователей, одновременно запускающих процессы). Оно включало в себя два профиля тестирования — синхронный и асинхронный, которые технически и архитектурно отличались подходами к использованию BPM-систем.
Первый профиль связан с традиционным использованием BPM-платформ, когда в диаграмме бизнес-процесса описывается логика: посчитать, вызвать, принять решение, обработать результаты, выполнить определенные правила, разветвиться, перейти дальше. Эти тесты показывают производительность платформы в зависимости от того, какого типа логика в них заложена. Например, интеграционное взаимодействие, скриптовая логика, принятие решений, ветвление и т.д. Все взаимодействие — синхронное.
Второй профиль касается бизнес-процессов, которые моделируют оркестрацию микросервисов, исполняющих бизнес-логику. Такие процессы запускаются асинхронно с помощью событийного обмена. Шаги процесса при этом также отправляют и получают события, эмулирующие взаимодействие с сервисами исполнителей бизнес-логики. Весь обмен в обязательном порядке осуществляется с помощью брокера сообщений Kafka.
Среда исполнения процессов в рамках испытаний предполагала развертывание на Kubernetes. Это является ключевым преимуществом Digital Q.BPM и дает возможность эластичного масштабирования под требуемую нагрузку.
В качестве сценариев для нагрузочного тестирования синхронного и асинхронного взаимодействий были выбраны бизнес-процессы, относящиеся к деятельности по выдаче кредитов банками (получение информации о клиенте, проверка информации, принятие решения). Однако похожие бизнес-процессы применяются в любых крупных компаниях — в работе с поставщиками, контрагентами или клиентами.
Тестирование проводилось на оборудовании OpenYard серий RS101I/RS201I. RS201I поддерживает до 24 дисков SAS/SATA/NVME, оснащен 2 процессорами x86, 64 ГБ оперативной памяти, контроллером LSI 9560-16I, двумя SSD-дисками на 1,92 ТБ и двумя сетевыми интерфейсами 10Gbe. RS101I имеет аналогичные характеристики, но отличается тем, что поддерживает установку до 10 накопителей и меньшее количество PCI устройств.
Основные результаты нагрузочного тестирования Digital Q.BPM:
Производительность
При синхронном взаимодействии — до 3 056 TPS (процессов в секунду) на Java и 24 800 TPS на Go. Для наиболее наполненных бизнес-логикой процессов — 950 TPS для Java и 4 000 TPS для Go.
При асинхронном взаимодействии — 120 MPS (сообщений в секунду) на Java и 190 MPS на Go.
Время отклика и стабильность
Не более 0,9 сек при шаге максимальной производительности (90-й персентиль).
На сервере базы данных, в среднем, 60% (утилизация памяти — 30%).
На нодах кластера Kafka, в среднем, 15% (утилизация памяти — 60%).
Объем базы данных
800 Гб после наполнения.
«Платформа Digital Q.BPM продемонстрировала стабильную и безотказную работу под высокими нагрузками выполнения и оркестрации бизнес-процессов в типовых архитектурах компаний и организаций сегмента enterprise», —отметил Никита Маркелов, руководитель направления «Автоматизация бизнес-процессов» компании «Диасофт», интерпретируя результаты нагрузочного тестирования.
«Надежность и производительность платформ автоматизации бизнес-процессов становятся ключевыми факторами для цифровой трансформации компаний. Совместно с экспертами «Диасофт» мы провели тестирование Digital Q.BPM на нашем серверном оборудовании, и результаты подтвердили высокую стабильность работы комплекса даже при интенсивной обработке задач. Это особенно важно для клиентов, которым необходима гарантированная отказоустойчивость в критичных бизнес-сценариях», — отметила Наталья Курилина, руководитель направления по работе с разработчиками ПО OpenYard.
Тестовый стенд был построен на базе операционной системы семейства Linux, решений экосистемы Digital Q, в том числе СУБД Digital Q.DataBase, а также на open sourсe продуктах и серверном оборудовании от партнера «Диасофт» — компании OpenYard.
В состав платформы Digital Q.BPM входят следующие сервисы:
Реестр бизнес-процессов. Это единая точка управления всеми процессами организации: от проектирования до отладки, мониторинга исполнения процессов и сопровождения эксплуатации. Позволяет проектировать процессы в нотации BPMN 2.0, отслеживать статус выполнения процессов, анализировать узкие места, метрики времени, оценивать размер контекста процесса и переменные процесса.
Исполнение бизнес-процессов. Основной сервис, от которого зависит производительность (время) выполнения процессов. Имеет две независимых реализации. Первый вариант реализован на языке Java, с использованием фреймворка Spring Boot. Второй вариант — нативная реализация на Go, без использования JVM (или других аналогичных интерпретаторов), которая исполняется непосредственно на ресурсах операционной системы.
Управление пользовательскими задачами. Реализует логику назначения пользовательских задач по различным алгоритмам, отслеживает статус и регламент исполнения назначенных задач. Данный сервис не участвовал в нагрузочных испытаниях.
Ознакомиться с возможностями платформы DigitalQ.BPM и заказать демонстрацию можно на сайте.