- Инженеры провели более 100 нагрузочных тестов альтернативного бенчмарка 1C:ERP от компании «ИТ-Экспертиза», масштабировав систему до 30 000 виртуальных рабочих мест.
- Итоговый индекс производительности APDEX достиг рекордных 0,986 после устранения просадок до 0,704 на 15 000 пользователей и критических сбоев на 21 000 сессий.
- Среди ключевых узких мест выявлены неоптимальные планы запросов, блокировки LWLock:PgStatsHash, перекосы NUMA, лимиты гигабитной сети и генерация миллионов временных таблиц.
Масштабирование 1С:ERP на СУБД Postgres Pro
Тестирование масштабных корпоративных внедрений часто выявляет неожиданные проблемы производительности. В ходе серии из более чем 100 запусков специализированного нагрузочного теста 1C:ERP от «ИТ-Экспертизы» специалисты решали задачу масштабирования системы вплоть до 30 000 виртуальных рабочих мест (ВРМ). Базовой СУБД проекта выступила отечественная платформа Postgres Pro.
Преодоление кризиса производительности на 15 000 и 21 000 ВРМ
Путь к целевым показателям сопровождался серьезными техническими вызовами. На этапе достижения отметки в 15 000 одновременных подключений показатель удовлетворенности пользователей APDEX резко просел до 0,704. Основными факторами деградации стали штормы инвалидаций кэша, неравномерное распределение нагрузки между узлами архитектуры NUMA и внутренние ошибки базы данных.
При дальнейшем увеличении нагрузки до диапазона между 16 800 и 21 000 ВРМ система столкнулась с аварийной остановкой на пятом часу непрерывного тестирования. В этот момент время выполнения отдельных типовых запросов подскочило с долей секунды до десятков секунд, а построение критически важного отчета увеличилось с нормативных 5 секунд до катастрофических 800 секунд.
Динамика метрик в ходе нагрузочного тестирования
| Этап нагрузки (ВРМ) | Исходное состояние | Итоговый показатель APDEX | Ключевые устраненные проблемы |
|---|---|---|---|
| 15 000 | Падение до 0,704 | Стабилизирован | Перекос нагрузки по NUMA, шторм инвалидаций, ошибки PostgreSQL |
| 21 000 | Сбой теста на 5-м часу | 0,975 | LWLock:PgStatsHash, сбои планов запросов, лимит гигабитной сети, 3 млн файлов temp-таблиц |
| 30 000 | Нестабильность под пиком | 0,986 | Комплексная тонкая настройка СУБД и инфраструктуры |
Ключевые технические барьеры и методы оптимизации
Для стабилизации производительности и достижения индекса APDEX на уровне 0,975 на 21 000 ВРМ потребовалось устранить целый комплекс аппаратных и программных ограничений:
- Блокировки СУБД: локализация и устранение узкого места вокруг события ожидания LWLock:PgStatsHash, возникавшего при сверхактивном сборе статистики.
- Смена планов выполнения: стабилизация «сбежавших» планов запросов, вызывавших многократный рост времени отклика отчетов.
- Сетевая и дисковая подсистема: устранение узкого горлышка стандартного гигабитного сетевого интерфейса и решение проблемы деградации хранилища из-за скопления 3 миллионов файлов временных таблиц.
Результаты бенчмарка доказывают, что связка 1C:ERP и Postgres Pro способна стабильно обслуживать сверхкрупные предприятия с десятками тысяч одновременных пользователей. Однако для преодоления просадок APDEX на высоких нагрузках критически важен глубокий системный аудит, включающий балансировку NUMA, контроль блокировок статистики и управление временными объектами базы данных.