О проекте
Заказчик: крупное промышленное предприятие.
Проблема: системная деградация производительности учетной системы на платформе «1С», работающей на СУБД PostgreSQL.
Ключевые болевые точки:
- Нестабильное время отклика системы в часы пиковой нагрузки, снижение скорости работы пользователей.
- Со стороны ИТ-подрядчика и внутренней команды 1С звучала позиция о «недостаточной производительности СУБД PostgreSQL».
- Существовал риск необоснованной замены СУБД, что повлекло бы за собой дополнительные лицензионные затраты, миграционные риски и простои для заказчика.
- Отсутствовала объективная диагностика: проблема локализовалась «на ощупь», без инструментального анализа взаимодействия приложения и базы данных.
Реализованные работы
Нашей командой проведено комплексное нагрузочное тестирование и аудит связки «1С → PostgreSQL». Работы включали:
1. Глубинный трассировщик запросов
Выполнен анализ очереди запросов на стороне СУБД, захват «сырых» логов и их агрегация.
2. Выявление первопричины
Обнаружено, что бизнес-логика приложения 1С генерирует 20 тысяч последовательных обращений к одной таблице в рамках одной операции. Каждый единичный запрос физически выполнялся за приемлемые 190 мс, однако их каскадный, линейный характер создавал эффект «закрытого шлагбаума».
3. Действия на уровне СУБД
- Проведена низкоуровневая оптимизация: адаптация структуры индексов, настройка параметров кэширования и памяти.
- Результат оптимизации на стороне СУБД: время выполнения единичного запроса снижено с 190 мс до 1,9 мс (ускорение в 100 раз).
4. Анализ прикладного слоя
Подготовлена верхнеуровневая спецификация проблемных мест в логике 1С (избыточные итерации, отсутствие пакетной обработки).
5. Коммуникацию с заказчиком
- Сформирован отчет и презентация для бизнес-заказчика.
- Наглядно продемонстрировано разделение ответственности: СУБД перестала быть «узким горлышком» после наших доработок.
Результат и эффект для организации
Технический результат:
- Скорость выполнения «проблемного» типа запросов улучшена на 2 порядка (с 200 мс до 2 мс).
- Суммарное время выполнения бизнес-операции сокращено с десятков минут до секунд/долей секунд.
- Система перестала упираться в диск и процессор — запас производительности высвобожден.
- Реабилитация PostgreSQL: сняты необоснованные претензии к СУБД. Доказано, что при штатной настройке PostgreSQL обеспечивает производительность, кратко превышающую требования.
- Объективизация диалога: заказчик получил прозрачную картину — «узкое место» находилось на стороне прикладной логики.
- Предотвращение неэффективных затрат: исключена инициатива по замене СУБД, сопряженная с бюджетными расходами и проектными рисками.
- Пользователи получили отзывчивую систему.
- ИТ-ландшафт организации сохранил технологическую стабильность.
- Выстроена культура принятия решений на основе фактов, а не субъективных оценок.
Ценность для бизнеса
Выводы
Во многих организациях ответственность за функционирование сервисов распределена между несколькими командами: разработчиками, администраторами БД и инфраструктурными специалистами. В результате при возникновении инцидентов часто возникает «корпоративный футбол», когда команды передают ответственность друг другу, что увеличивает время простоя и не решает проблему оперативно.
Для заказчика критически важно иметь возможность стабилизировать систему на уровне СУБД без срочного привлечения разработчиков, если это технически возможно. Такой подход позволяет быстрее восстановить работоспособность сервиса и снизить операционные риски. Разработчики в этом случае подключаются позже для устранения первопричины уже в плановом режиме, а не в условиях аварии.