Кейс по оптимизации PostgreSQL для 1С.

Оптимизация и аудит СУБД PostgreSQL для 1С: как устранить деградацию производительности системы

О проекте

Заказчик: крупное промышленное предприятие.

Проблема: системная деградация производительности учетной системы на платформе «1С», работающей на СУБД PostgreSQL.

Ключевые болевые точки:

  • Нестабильное время отклика системы в часы пиковой нагрузки, снижение скорости работы пользователей.
  • Со стороны ИТ-подрядчика и внутренней команды 1С звучала позиция о «недостаточной производительности СУБД PostgreSQL».
  • Существовал риск необоснованной замены СУБД, что повлекло бы за собой дополнительные лицензионные затраты, миграционные риски и простои для заказчика.
  • Отсутствовала объективная диагностика: проблема локализовалась «на ощупь», без инструментального анализа взаимодействия приложения и базы данных.

Реализованные работы

Нашей командой проведено комплексное нагрузочное тестирование и аудит связки «1С → PostgreSQL». Работы включали:

1. Глубинный трассировщик запросов

Выполнен анализ очереди запросов на стороне СУБД, захват «сырых» логов и их агрегация.

2. Выявление первопричины

Обнаружено, что бизнес-логика приложения 1С генерирует 20 тысяч последовательных обращений к одной таблице в рамках одной операции. Каждый единичный запрос физически выполнялся за приемлемые 190 мс, однако их каскадный, линейный характер создавал эффект «закрытого шлагбаума».

3. Действия на уровне СУБД

  • Проведена низкоуровневая оптимизация: адаптация структуры индексов, настройка параметров кэширования и памяти.
  • Результат оптимизации на стороне СУБД: время выполнения единичного запроса снижено с 190 мс до 1,9 мс (ускорение в 100 раз).

4. Анализ прикладного слоя

Подготовлена верхнеуровневая спецификация проблемных мест в логике 1С (избыточные итерации, отсутствие пакетной обработки).

5. Коммуникацию с заказчиком

  • Сформирован отчет и презентация для бизнес-заказчика.
  • Наглядно продемонстрировано разделение ответственности: СУБД перестала быть «узким горлышком» после наших доработок.

Результат и эффект для организации

Технический результат:

  • Скорость выполнения «проблемного» типа запросов улучшена на 2 порядка (с 200 мс до 2 мс).
  • Суммарное время выполнения бизнес-операции сокращено с десятков минут до секунд/долей секунд.
  • Система перестала упираться в диск и процессор — запас производительности высвобожден.
  • Реабилитация PostgreSQL: сняты необоснованные претензии к СУБД. Доказано, что при штатной настройке PostgreSQL обеспечивает производительность, кратко превышающую требования.
  • Объективизация диалога: заказчик получил прозрачную картину — «узкое место» находилось на стороне прикладной логики.
  • Предотвращение неэффективных затрат: исключена инициатива по замене СУБД, сопряженная с бюджетными расходами и проектными рисками.
  • Ценность для бизнеса

    • Пользователи получили отзывчивую систему.
    • ИТ-ландшафт организации сохранил технологическую стабильность.
    • Выстроена культура принятия решений на основе фактов, а не субъективных оценок.

    Выводы

    Во многих организациях ответственность за функционирование сервисов распределена между несколькими командами: разработчиками, администраторами БД и инфраструктурными специалистами. В результате при возникновении инцидентов часто возникает «корпоративный футбол», когда команды передают ответственность друг другу, что увеличивает время простоя и не решает проблему оперативно.

    Для заказчика критически важно иметь возможность стабилизировать систему на уровне СУБД без срочного привлечения разработчиков, если это технически возможно. Такой подход позволяет быстрее восстановить работоспособность сервиса и снизить операционные риски. Разработчики в этом случае подключаются позже для устранения первопричины уже в плановом режиме, а не в условиях аварии.

Бесплатный 7‑дневный аудит PostgreSQL с PGLens

PGLens остается у вас для полноценного тестирования еще до 90 дней БЕСПЛАТНО