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

Администрирование · 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. 1
    Включить сбор событий блокировок в технологическом журнале или использовать консоль кластера / мониторинг СУБД
  2. 2
    Определить, какие таблицы и операции конфликтуют чаще всего
  3. 3
    Проверить настройки: режим управляемых блокировок, разделение итогов, расписание фоновых заданий
  4. 4
    Перенести тяжёлые регламентные операции в нерабочее время
  5. 5
    Повторить замер времени проведения документов в пиковый час и сравнить с исходным

Конфигурация и объём данных

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

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

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

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

Сеть, терминальный доступ и клиентские компьютеры

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

Для удалённых сотрудников и филиалов рассмотрите терминальный доступ (RDP) или веб-клиент: вся логика выполняется рядом с сервером, а по сети передаётся только изображение интерфейса. Это заметно снижает требования к каналу.

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

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

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

Тормозят только удалённые пользователи и филиалыПроверьте канал и задержки; рассмотрите RDP или веб-клиент
Медленно у всех, память сервера загружена под 90%Добавьте RAM или ограничьте потребление памяти СУБД
Ошибки конфликта блокировок, зависания в часы пикАнализируйте блокировки, переносите фоновые задания и обмены на ночь
Медленно работают конкретные отчёты и документыДелайте замер производительности и анализ планов запросов
Файловая база, пользователей больше десяткаПланируйте переход на клиент-серверный вариант

Регламентное обслуживание и профилактика

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

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

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

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

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

Почему 1С тормозит именно в конце месяца?

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

Поможет ли переход на SSD?

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

Сколько оперативной памяти нужно серверу 1С?

Универсальной цифры нет: объём зависит от размера активно используемой части базы и числа пользователей. Практический ориентир — чтобы рабочий набор данных СУБД по возможности помещался в память, а средняя загрузка RAM не держалась постоянно выше 80–85%. Определяется замером на вашей нагрузке.

Может ли антивирус тормозить 1С?

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

Что делать, если тормозит файловая база?

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

Как понять, что проблема в конфигурации, а не в железе?

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

Итог

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

Не гадайте — измеряйте: сначала локализуйте проблему (один пользователь или все, всегда или в пиковые часы), затем проверяйте сервер СУБД, блокировки, запросы и сеть. Любые изменения на боевой базе — только после резервной копии и с замером результата до и после.