Источник фото photogenica.ru

Как ускорить «1С»? Советы от разработчиков СУБД

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

Для 1С мало просто выбрать PostgreSQL

«1С: Предприятие 8» поддерживает несколько промышленных СУБД, включая Microsoft SQL Server, Oracle Database, PostgreSQL, Tantor Postgres, Postgres Pro и некоторые другие российские решения на базе PostgreSQL. Есть и специализированные редакции, рассчитанные именно на работу с «1С».

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

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

Временные таблицы и планировщик выходят на первый план

Одна из характерных особенностей «1С» — активное использование временных таблиц. При высокой нагрузке они создаются и удаляются тысячами, и накладные расходы на эти операции становятся заметны.

В Tantor Postgres издание Special Edition 1C (Tantor SE-1C, Tantor Postgres для 1С) отдельные доработки также связаны с временными таблицами, статистикой и параллельным выполнением запросов. Меняется и работа планировщика: оценка числа строк, выбор индексов, обработка запросов с большим количеством соединений, предварительная агрегация данных.

В Postgres Pro Enterprise для «1С» разработчики меняли работу блокировок и очистки временных таблиц, оптимизировали поиск по подстроке, сложные запросы с соединениями и подключение большого числа новых сеансов.

Рейтинг СУБД для работы с «1С» 2026. Структура баллов

Подробнее: Обзор «Специализированные СУБД для платформы «1С»

Возможности оптимизации
Дополнительный инструментарий
Тестирование и сертификация
270
180
75
270
180
65
240
120
15
60
120
65

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

Цифры ускорения, которые публикуют разработчики, здесь надо воспринимать осторожно. Результат зависит от конфигурации «1С», размера базы, оборудования и характера нагрузки. То, что хорошо сработало в одном тесте, необязательно даст тот же эффект у другого заказчика.

Стоимость считают не только в серверах и лицензиях

На большой инсталляции важна уже не только скорость отдельного запроса. Есть и стоимость эксплуатации — прежде всего время специалистов.

«В работе с «1С» производительность часто упирается не в какую-то одну операцию, а в совокупность особенностей самой платформы: временные таблицы, характер запросов, работу статистики и выбор плана выполнения. Поэтому мы не ограничиваемся настройкой PostgreSQL — разбираем реальные сценарии «1С» и дорабатываем СУБД там, где стандартного поведения недостаточно», — говорит Александр Симонов, технический руководитель направления развития 1С «Тантор Лабс».

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

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

Tantor развивает единый контур управления несколькими кластерами PostgreSQL: развитая графическая среда управления с ИИ-мониторингом, оценкой здоровья экземпляров, уведомлениями, конфигурированием, профилированием запросов. У Postgres Pro Enterprise для «1С» также есть собственные средства управления, мониторинга, резервного копирования и построения отказоустойчивого кластера.

«Мы смотрим не только на отдельные запросы, но и на весь сценарий работы «1С» под нагрузкой. Для этого регулярно прогоняем реальные операции на ERP, ЗУП и других конфигурациях, анализируем технологические журналы и планы запросов, воспроизводим проблемы на своих стендах. Такой подход позволяет находить узкие места и переносить решение непосредственно в СУБД, а не требовать от заказчика переписывать типовой код», — говорит Александр Симонов.

Тестировать все равно придется на своей базе

Даже подробный список оптимизаций не отвечает на главный вопрос заказчика: как конкретная СУБД поведет себя на его нагрузке.

И Tantor Labs, и Postgres Professional, например, проводили испытания Postgres Pro Enterprise своих СУБД для «1С» на тестах по методологии АНО «НЦК ИСУ» с 30 тыс. одновременно работающих пользователей «1С:ERP» и базой объемом 1 ТБ. Это хороший ориентир по масштабу, но не универсальная цифра, которую можно переносить на любую систему. .

Сравнивать результаты разных тестов напрямую тоже бессмысленно, если различаются оборудование, размер базы, конфигурация «1С» и сами сценарии работы.

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

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

Заодно становится понятно, сколько потребуется процессоров, памяти и дисковой производительности, как система ведет себя в пиковые часы и сколько времени занимает диагностика проблем.

На пилоте имеет смысл проверять и поведение системы при сбоях. Высокая производительность сама по себе недостаточна, отмечает Роман Севрук: для критичной системы нужны встроенные механизмы отказоустойчивости, резервирования и восстановления транзакций при нештатных ситуациях.

Автоматизация добирается до работы DBA

Отдельная задача — сократить ручную работу администратора базы данных.

«В большой инфраструктуре проблема уже не в том, умеет ли компания мониторить PostgreSQL. Проблема в том, сколько ручной работы требуется, чтобы понять, что происходит с сотнями баз. Для этого служит реализованный нами полноценный ИИ-мониторинг», — отмечает Александр Симонов.

Следующий шаг — инструменты, которые собирают данные о конкретной базе, находят аномалию, предполагают причину и предлагают инженеру, что проверить. Tantor связывает это направление с ИИ и развивает промышленный ИИ-помощник администратора, который уже формирует рекомендации на основе не только метрик, но и своих собственных исследовательских запросов. У Postgres Pro Enterprise Manager также появился ИИ-помощник AskPostgres.

Пока речь скорее о новом уровне автоматизации, чем о замене DBA. Для промышленной системы недостаточно получить рекомендацию — администратору надо понимать, откуда она взялась и что произойдет после ее применения.

Оптимизация становится частью самой СУБД

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

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

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

Сергей Сергеев

Вернуться на главную страницу обзора