Администрирование · 12 мин
Из-за чего тормозит 1С: разбор причин и способы ускорения
Разбираем, из-за чего тормозит 1С: сервер, СУБД, сеть, блокировки, конфигурация и оборудование. Пошаговая диагностика и практические способы ускорить работу.
Медленная работа 1С редко имеет одну причину. Чаще всего это сочетание факторов: перегруженный сервер СУБД, недостаток оперативной памяти, блокировки при одновременной работе пользователей, неоптимальные запросы в конфигурации или устаревшее оборудование. Чтобы ускорить систему, нужно сначала локализовать узкое место, а не действовать наугад.
Диагностику удобно вести от простого к сложному: сначала выяснить, тормозит 1С у всех пользователей или у одного, во всех операциях или только в конкретных документах и отчётах, постоянно или в определённые часы. Ответы на эти вопросы сразу сужают круг подозреваемых: локальная проблема одного компьютера решается иначе, чем перегрузка сервера баз данных.
Ниже разобраны основные группы причин — от железа и сети до кода конфигурации — с признаками, по которым их можно распознать, и конкретными действиями для каждой ситуации.
Как определить, где именно тормозит 1С
Первый шаг — понять масштаб проблемы. Если медленно работает только один сотрудник, а остальные жалоб не имеют, причина почти наверняка в его компьютере, сетевом подключении или антивирусе. Если тормоза у всех, смотрите на сервер 1С и сервер СУБД.
Второй признак — время суток. Просадки только в часы массового проведения документов или закрытия месяца указывают на блокировки и нехватку ресурсов под пиковой нагрузкой. Равномерная медлительность в течение дня чаще говорит о системной нехватке памяти, медленных дисках или разросшейся базе.
Третий признак — конкретные операции. Если медленно открываются только отчёты, дело в запросах и объёме данных. Если «подвисает» проведение документов — вероятны блокировки и избыточные движения по регистрам. Если долго стартует программа — проверяйте сеть, антивирус и кэш метаданных.
Проверить его ПК, антивирус, сетевой кабель/Wi-Fi, очистить кэш 1С
Загрузка CPU, RAM и дисков сервера СУБД, настройки СУБД
Технологический журнал, мониторинг взаимоблокировок
Планы запросов, индексы, итоги регистров
Оборудование сервера: память, диски, процессор
Самая частая аппаратная причина — нехватка оперативной памяти на сервере СУБД. Если база активно используется, а свободной памяти почти нет, система начинает сбрасывать данные в файл подкачки, и любые операции с базой резко замедляются. Признак — постоянная загрузка памяти выше 85–90% и активная работа swap.
Второй критичный ресурс — дисковая подсистема. Базы 1С на MS SQL или PostgreSQL чувствительны к скорости случайных операций чтения/записи. Размещение базы и журналов транзакций на обычных HDD вместо SSD — типичная причина медленной работы даже при мощном процессоре. Журнал транзакций и файлы данных желательно разносить на разные физические диски.
Процессор редко является первым подозреваемым, но важна тактовая частота ядер: многие операции 1С выполняются однопоточно, поэтому сервер с большим числом медленных ядер может проигрывать менее «многоядерному», но более быстрому на ядро CPU. Виртуализация добавляет нюанс: убедитесь, что виртуальной машине реально выделены заявленные ресурсы и нет переподписки (overcommit) на гипервизоре.
Настройки СУБД: MS SQL и PostgreSQL
Значительная часть жалоб на «тормозящую 1С» — это на самом деле ненастроенная СУБД. Для MS SQL типичные проблемы: не ограничен максимальный объём памяти (SQL Server забирает всю RAM, оставляя ОС и сервер 1С без ресурсов), модель восстановления FULL без регулярного бэкапа журнала транзакций (журнал разрастается до десятков гигабайт), отсутствие регламентного обслуживания — обновления статистики и дефрагментации индексов.
Для PostgreSQL критичны параметры shared_buffers, work_mem и effective_cache_size — значения по умолчанию рассчитаны на слабые машины и не используют ресурсы сервера. Также важен автовакуум: при его отставании таблицы «раздуваются», и запросы деградируют.
Универсальные регламентные операции, которые стоит выполнять регулярно: обновление статистики, реорганизация или перестроение индексов, контроль размера журнала транзакций и tempdb. В MS SQL базе tempdb уделяйте отдельное внимание — 1С активно использует временные таблицы, и медленный tempdb тормозит почти всё.
Блокировки и параллельная работа пользователей
Если документы проводятся медленно именно когда много пользователей работают одновременно, почти наверняка дело в избыточных блокировках. Классические источники: проведение документов «задним числом», из-за чего система пересчитывает последовательности и итоги; контроль остатков при проведении, который блокирует регистры; обмены данными и фоновые задания, пересекающиеся с работой пользователей.
Признаки блокировочной проблемы: операции «висят» и завершаются через десятки секунд, в технологическом журнале видны события TLOCK и TDEADLOCK, пользователи жалуются на ошибки «Конфликт блокировок при выполнении транзакции». Управляемые блокировки и перевод регистров на режим разделения итогов обычно заметно снижают число конфликтов.
Практические меры: запретить или минимизировать оперативное проведение там, где оно не нужно; настроить расписание обменов и фоновых заданий вне рабочих часов; следить, чтобы пользователи не держали открытыми формы редактирования одних и тех же документов.
- 1Включить сбор событий блокировок в технологическом журнале или использовать консоль кластера / мониторинг СУБД
- 2Определить, какие таблицы и операции конфликтуют чаще всего
- 3Проверить настройки: режим управляемых блокировок, разделение итогов, расписание фоновых заданий
- 4Перенести тяжёлые регламентные операции в нерабочее время
- 5Повторить замер времени проведения документов в пиковый час и сравнить с исходным
Конфигурация и объём данных
Даже на хорошем железе тормозить могут неоптимальные запросы и алгоритмы в конфигурации. Типичные примеры: запросы в цикле, обход больших таблиц без индексов, получение данных «на всякий случай» с последующим отбором в коде, отчёты без ограничения периода, динамические списки с соединениями по невыразительным условиям.
Рост базы тоже работает против производительности: таблицы с десятками миллионов записей требуют аккуратных индексов и архивации старых данных. Если база ведётся много лет, полезно оценить свёртку старых периодов и перенос архивных данных в отдельную базу.
Инструменты для поиска проблем в коде: замер производительности в конфигураторе (отладка → замер производительности), анализ планов запросов средствами СУБД, центр управления производительностью (для решений на базе 1С:КИП и аналогичных средств мониторинга). Найденные «тяжёлые» запросы оптимизируют: добавляют индексы под реальные условия отбора, переписывают запросы, убирают лишние соединения.
Перед оптимизацией запроса посмотрите его план выполнения на реальной базе, а не на пустой копии. На маленькой тестовой базе проблемный запрос может выполняться быстро, и вы будете оптимизировать не то место. Замеры делайте на копии с реальным объёмом данных.
Сеть, терминальный доступ и клиентские компьютеры
В клиент-серверном варианте тонкий клиент требователен к стабильности канала, а толстый — ещё и к пропускной способности. Работа через Wi-Fi вместо кабеля, VPN с высокой задержкой, удалённые филиалы с каналом в несколько мегабит — частые источники «тормозов», которые пользователи приписывают самой 1С. Признак сетевой проблемы: медленно работают именно удалённые пользователи, а в офисе всё нормально.
Для удалённых сотрудников и филиалов рассмотрите терминальный доступ (RDP) или веб-клиент: вся логика выполняется рядом с сервером, а по сети передаётся только изображение интерфейса. Это заметно снижает требования к каналу.
На самом клиентском компьютере проверьте: антивирус (добавьте каталоги 1С и процессы в исключения), объём свободной памяти, состояние диска, версию платформы. Устаревшая платформа иногда содержит уже исправленные ошибки производительности — обновление до актуального релиза в рамках совместимости с конфигурацией стоит рассматривать как часть плана работ.
Как выбрать действие
Регламентное обслуживание и профилактика
Производительность 1С деградирует постепенно, поэтому профилактика эффективнее аварийных мер. Минимальный регулярный набор: резервное копирование с проверкой восстановления, обновление статистики и обслуживание индексов СУБД, контроль размера базы и журнала транзакций, очистка устаревших данных (протоколы обменов, версии объектов, журналы регистрации за старые периоды).
Отдельно следите за хранилищем истории данных и версионированием объектов, если они включены: без настройки глубины хранения эти механизмы способны заметно раздуть базу. Журнал регистрации стоит периодически сокращать, оставляя разумную глубину для аудита.
После любых изменений — обновления платформы, переноса на новый сервер, оптимизации запросов — зафиксируйте метрики «до» и «после»: время проведения типового документа, время формирования ключевого отчёта, время входа в систему. Без замеров невозможно понять, помогло ли вмешательство.
Частые вопросы
Почему 1С тормозит именно в конце месяца?
В период закрытия месяца одновременно работает больше пользователей и запускаются тяжёлые регламентные операции: пересчёт итогов, себестоимости, обмены. Возрастает конкуренция за блокировки и ресурсы сервера. Помогает разнесение регламентных операций по времени и анализ блокировок именно в эти часы.
Поможет ли переход на SSD?
Если база или журналы транзакций лежат на HDD — почти всегда да, это одно из самых заметных улучшений для клиент-серверной 1С. Но если узкое место в неоптимальных запросах или нехватке оперативной памяти, эффект будет ограниченным.
Сколько оперативной памяти нужно серверу 1С?
Универсальной цифры нет: объём зависит от размера активно используемой части базы и числа пользователей. Практический ориентир — чтобы рабочий набор данных СУБД по возможности помещался в память, а средняя загрузка RAM не держалась постоянно выше 80–85%. Определяется замером на вашей нагрузке.
Может ли антивирус тормозить 1С?
Да. Антивирус, проверяющий файлы базы, каталоги платформы и сетевой трафик в реальном времени, способен заметно замедлять работу. Решение — не отключение защиты, а добавление процессов и каталогов 1С и СУБД в исключения по рекомендациям вендора антивируса.
Что делать, если тормозит файловая база?
Разместите базу на быстром локальном диске (не на сетевой папке со слабым каналом), ограничьте число одновременных пользователей, выполните тестирование и исправление с реструктуризацией. При росте числа пользователей и объёма данных файловый режим упирается в архитектурные ограничения — тогда правильный путь это переход на клиент-серверный вариант.
Как понять, что проблема в конфигурации, а не в железе?
Если ресурсы сервера не загружены (CPU, память и диски имеют запас), а конкретные операции всё равно медленные — почти наверняка дело в запросах и алгоритмах. Подтверждается замером производительности в конфигураторе и анализом планов запросов в СУБД.
Что важно запомнить
Не гадайте — измеряйте: сначала локализуйте проблему (один пользователь или все, всегда или в пиковые часы), затем проверяйте сервер СУБД, блокировки, запросы и сеть. Любые изменения на боевой базе — только после резервной копии и с замером результата до и после.