К статье
Практический материал

Администрирование · 12 мин

Почему 1С:ERP работает медленно и как это исправить

Разбираем, почему 1С:ERP тормозит: железо, СУБД, настройки, запросы и код. Конкретные шаги диагностики и ускорения системы без риска для данных.

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

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

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

Как понять, где именно теряется время

Прежде чем что-то менять, нужно локализовать проблему. Медленная работа может проявляться по-разному: долго открываются формы, зависает проведение документов, «подвисают» отчёты, а регламентные задания не успевают выполниться за ночь. Каждый симптом указывает на свой класс причин.

Основной инструмент диагностики — технологический журнал кластера 1С и мониторинг длительных запросов на стороне СУБД. Для MS SQL Server это Extended Events или Query Store, для PostgreSQL — pg_stat_statements. Если запрос к базе занимает секунды, проблема на уровне СУБД или запроса; если запросы быстрые, а форма открывается долго — ищите проблему в коде формы или на клиенте.

Полезно также проверить счётчики операционной системы: загрузку дисков (средняя длина очереди), свободную память, утилизацию процессора в часы пик. Эти данные сразу покажут, упирается ли система в железо.

Документ проводится 10+ секундПроблема на уровне СУБД или запросов

Длительные запросы, блокировки, фрагментация индексов

Формы открываются медленно у всехПроблема в коде форм или на сервере 1С

Запросы в обработчиках формы, обмен данными при открытии

Тормозит только у части пользователейПроблема на клиенте или в сети

Слабый ПК, антивирус, медленный канал до сервера

Всё медленно по утрамРегламентные задания конкурируют за ресурсы

Расписание фоновых заданий, обновление статистики СУБД

Аппаратные причины: диски, память, процессор

Самая частая аппаратная причина — медленная дисковая подсистема на сервере СУБД. База 1С:ERP интенсивно читает и пишет данные, и если база размещена на обычных HDD или перегруженном общем хранилище, любые операции будут медленными независимо от настроек. Для рабочей базы ERP рекомендуются SSD-диски корпоративного класса, а файлы данных и журнал транзакций лучше разносить на разные физические устройства.

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

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

Проблемы на уровне СУБД

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

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

Отдельная тема — настройки самой СУБД. Для MS SQL Server критичны корректный уровень совместимости базы, параметры параллелизма (MAXDOP), настройки tempdb (количество и размер файлов). Для PostgreSQL — shared_buffers, work_mem, effective_cache_size и настройки автовакуума. Значения по умолчанию рассчитаны на маленькие базы и для ERP почти всегда не подходят.

Блокировки и взаимоблокировки

Если система «виснет» при одновременной работе пользователей, а поодиночке всё быстро — смотрите на блокировки. В 1С:ERP используется управляемый режим блокировок, но доработки, обмены данными и массовые проведения способны создавать длинные цепочки ожиданий. Диагностируется это через технологический журнал (события TLOCK, TDEADLOCK) и представления СУБД по активным сессиям.

Типичные источники проблем: проведение больших документов в транзакции с расчётом итогов, обмены с другими системами в рабочее время, фоновые задания, пересчитывающие регистры. Часто помогает перенос тяжёлых операций в нерабочее время и включение версионирования (для MS SQL — READ_COMMITTED_SNAPSHOT), если оно ещё не используется.

Доработки конфигурации как источник тормозов

Типовая 1С:ERP на адекватном железе работает приемлемо. Если после обновлений и доработок система стала медленнее, виновником часто оказывается прикладной код: запросы в цикле, обращения к базе в обработчиках форм, отсутствие индексов по добавленным реквизитам, неоптимальные соединения таблиц.

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

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

Порядок диагностики медленной операции
  1. 1
    Воспроизведите проблему и зафиксируйте точное время выполнения операции
  2. 2
    Включите технологический журнал с фильтром по длительным событиям (DBMSSQL/DBPOSTGRS от 1–2 секунд)
  3. 3
    Снимите замер производительности в конфигураторе на проблемной операции
  4. 4
    Найдите самый длительный запрос и получите его план выполнения в СУБД
  5. 5
    Проверьте наличие подходящих индексов и актуальность статистики
  6. 6
    Исправьте запрос или добавьте индекс на копии базы, затем повторите замер
  7. 7
    Сравните время до и после — результат должен быть измеримым, а не «кажется быстрее»

Регламентные задания и объём данных

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

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

Второй аспект — объём данных. Регистры накопления и сведений в ERP растут быстро, и запросы по ним деградируют пропорционально. Помогают: своевременное закрытие периодов, свёртка старых данных по утверждённой процедуре, архивирование неактуальных данных и, при необходимости, секционирование больших таблиц средствами СУБД.

Типичные ошибки при ускорении 1С:ERP
01
Покупка нового сервера без диагностики — деньги потрачены, а узкое место осталось в запросах или настройках
02
Добавление индексов «на всякий случай» — лишние индексы замедляют запись и проведение документов
03
Отключение всех регламентных заданий для ускорения — перестаёт считаться себестоимость и актуализируются данные
04
Оптимизация на рабочей базе без копии — откат изменений невозможен при ухудшении
05
Игнорирование доработок при анализе — типовые механизмы проверены вендором, а внедренческий код — нет

Сеть, клиенты и режим работы

Если сервер и база здоровы, а жалобы остаются, смотрите на клиентскую часть. Тонкий клиент 1С чувствителен к задержкам сети: при работе через медленный VPN или Wi-Fi с потерями пакетов каждое обращение к серверу занимает заметное время, и интерфейс «подёргивается». Проверяется простым замером задержки (ping) до сервера и сравнением скорости работы в локальной сети и удалённо.

На клиентских машинах проверьте антивирус (исключения для процессов 1С и каталогов с кэшем), объём памяти и версию платформы. Устаревшая платформа 1С может работать существенно медленнее актуальной на той же конфигурации — обновление платформы иногда даёт эффект без каких-либо других изменений.

Для удалённых подразделений рассмотрите веб-клиент, терминальный доступ или развёртывание региональных узлов с репликацией — в зависимости от характера нагрузки и каналов связи.

Маршрут решения

Как выбрать действие

Запросы к СУБД занимают секунды, диски загружены на 100%Переносите базу на SSD, разносите данные и журнал транзакций, проверяйте регламент обслуживания
Запросы быстрые, но формы открываются долгоИщите серверные вызовы и запросы в обработчиках форм через замер производительности
Тормозит только у удалённых пользователейПроверяйте канал связи и задержки, рассмотрите терминальный режим или веб-клиент
Система деградировала постепенно за месяцыПроверяйте обслуживание СУБД: статистику, индексы, размер журнала и рост регистров
Проблемы только при одновременной работеАнализируйте блокировки в технологическом журнале и переносите тяжёлые операции в нерабочее время

Чего делать не стоит и как закрепить результат

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

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

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

Итог

Что важно запомнить

Медленная 1С:ERP — это симптом, а не диагноз. Начинайте с измерений: технологический журнал, замеры производительности, мониторинг СУБД. Чаще всего виноваты диски, отсутствие обслуживания базы и доработки с неоптимальными запросами. Любые изменения проверяйте на копии и подтверждайте замерами.

Частые вопросы

Может ли помочь простое увеличение оперативной памяти сервера?

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

Нужно ли регулярно делать реиндексацию базы?

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

Почему после обновления конфигурации система стала медленнее?

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

Влияет ли антивирус на скорость работы 1С?

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

Когда стоит привлекать специалиста по производительности?

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

Поможет ли переход с файлового режима на клиент-серверный?

Для 1С:ERP файловый режим вообще не предназначен — это система для клиент-серверной работы. Если база почему-то работает в файловом режиме, переход на связку «сервер 1С + СУБД» даст радикальное ускорение и снимет ограничения по числу пользователей и объёму данных.