Администрирование · 13 мин
Как увеличить скорость работы 1С
Как увеличить скорость работы 1С: диагностика узких мест, настройка сервера и СУБД, оптимизация базы, кода и клиентских рабочих мест с проверкой результата.
Медленная работа 1С почти всегда имеет конкретную причину: перегруженный дисковый массив, нехватку оперативной памяти на сервере СУБД, неоптимальные запросы в конфигурации или разросшуюся базу с годами накопленных данных. Универсальной «волшебной настройки» не существует — ускорение начинается с диагностики, потому что действия, эффективные для файловой базы на десять пользователей, бесполезны для клиент-серверной системы с сотнями одновременных сеансов.
Практика показывает, что жалобы «1С тормозит» чаще всего означают одно из трёх: долго открываются формы и списки, медленно проводятся документы, либо отчёты формируются минутами. У каждого симптома свой набор причин и свои методы устранения. Прежде чем менять железо или переписывать код, нужно измерить, где именно теряется время.
Материал рассчитан на администраторов и внедренцев, работающих с типовыми и доработанными конфигурациями на платформе 1С:Предприятие 8.3. Действия описаны так, чтобы их можно было выполнять поэтапно, проверяя результат после каждого шага и не рискуя данными.
Как найти узкое место: диагностика перед оптимизацией
Первый инструмент диагностики — технологический журнал платформы. Включите его на сервере 1С или на клиенте через файл logcfg.xml и соберите события по длительности запросов СУБД, вызовам сервера и блокировкам. Это даст фактическую картину: какие операции занимают больше всего времени у реальных пользователей, а не «по ощущениям».
Второй источник — замер производительности в конфигураторе (отладка с замером). Он показывает, сколько времени занимает каждая строка кода и каждый запрос при выполнении конкретной операции, например проведения документа. Если проблема воспроизводится на тестовой базе, замер позволяет локализовать её до конкретного запроса или процедуры.
Параллельно оцените аппаратные счётчики: загрузку процессора, очередь диска, свободную память и сетевые задержки между клиентом, сервером 1С и сервером СУБД. В Windows это делается через системный монитор (perfmon), в Linux — через iostat, vmstat и top. Если очередь диска на сервере СУБД стабильно выше единицы, а память уходит в файл подкачки — проблема инфраструктурная, и оптимизация кода её не решит.
Проверить антивирус на клиенте, загрузку сервера приложений, версию платформы
Собрать технологический журнал, посмотреть планы запросов и ожидания на блокировках
Замер в конфигураторе, анализ планов запросов в СУБД
Проверить пинг и потери пакетов, рассмотреть тонкий/веб-клиент или RDP
Оптимизация сервера и СУБД
В клиент-серверном варианте основная нагрузка ложится на СУБД — чаще всего Microsoft SQL Server или PostgreSQL. Ключевые настройки для MS SQL: ограничьте максимальный объём памяти сервера, чтобы он не вытеснял операционную систему; вынесите tempdb на быстрый диск и разбейте на несколько файлов по числу ядер (обычно 4–8); установите модель восстановления Simple для баз, где не ведётся резервное копирование журнала транзакций.
Дисковая подсистема критична: база данных и журнал транзакций должны находиться на SSD, в идеале — на отдельных физических устройствах. Размещение рабочей базы на медленных SATA-дисках или сетевом хранилище без достаточной производительности — одна из самых частых причин общей медлительности, которую невозможно компенсировать никакими настройками.
На стороне сервера 1С проверьте параметры рабочих процессов: количество rphost, лимит памяти на процесс и период перезапуска. Если рабочих процессов слишком мало, запросы пользователей встают в очередь; если слишком много — сервер уходит в своп. Ориентир подбирается по мониторингу, а не «на глаз».
Регламентное обслуживание базы данных
База 1С без обслуживания деградирует: фрагментируются индексы, устаревает статистика, растут таблицы итогов и служебные данные. Минимальный регламент для клиент-серверной базы — регулярное обновление статистики (ежедневно или еженедельно в зависимости от объёма изменений), перестроение или реорганизация индексов при высокой фрагментации и очистка устаревших данных: версий объектов, истории, протоколов обменов.
Для файловых баз критично периодическое тестирование и исправление средствами конфигуратора — оно перестраивает таблицы и устраняет накопленные внутренние проблемы файла. Выполняется строго в монопольном режиме и только после копии файла 1Cv8.1CD.
Отдельная статья расхода производительности — накопленные данные. Регистры сведений с историей изменений, таблицы версионирования объектов, очереди обмена данными могут вырасти до десятков миллионов записей и замедлить любые обращения к этим таблицам. Настройте регламентные задания очистки, которые есть в типовых конфигурациях, и проверьте, что они реально выполняются без ошибок.
- 1Сделайте полную резервную копию базы и проверьте, что она восстанавливается
- 2Выполните обновление статистики по всем таблицам
- 3Перестройте или реорганизуйте индексы с высокой фрагментацией
- 4Очистите устаревшие версии объектов, историю и очереди обменов
- 5Проверьте выполнение регламентных заданий в консоли заданий
- 6Сравните время типовых операций до и после обслуживания
Настройка клиентских рабочих мест
Заметная часть жалоб на скорость относится не к серверу, а к рабочим местам. Проверьте, что на клиентах установлена актуальная версия платформы, совпадающая с серверной, — смешение версий даёт лишние обращения и ошибки кэша. Антивирус должен иметь исключения для каталогов платформы, кэша метаданных и, в файловом варианте, для каталога базы: сканирование этих файлов при каждом обращении способно замедлить работу в разы.
Для удалённых пользователей выбор режима подключения решает больше, чем мощность компьютера. Толстый клиент по медленному каналу гоняет большие объёмы данных и работает мучительно; тонкий клиент, веб-клиент или публикация через RDP/терминальный сервер переносят нагрузку на сервер и требуют от канала только передачу экрана. Если филиал жалуется на скорость — первым делом переведите его на тонкий клиент или терминальный доступ и сравните.
Также обратите внимание на кэш метаданных на клиенте: его повреждение проявляется странными ошибками и подвисаниями, лечится очисткой каталога кэша. Это безопасная операция — кэш пересоздаётся автоматически при следующем запуске.
Сравнение вариантов подключения
Подходит для локальной сети с быстрым каналом; по медленным каналам работает крайне медленно из-за объёма передаваемых данных
Оптимален для филиалов и VPN: минимальный трафик, вся логика на сервере; требует корректной публикации и стабильного соединения
Работает через браузер без установки платформы; удобен для эпизодического доступа, но часть интерфейсных возможностей ограничена
Все вычисления на терминальном сервере рядом с сервером 1С; хорош для слабых каналов, но требует лицензий и мощного терминального сервера
Оптимизация конфигурации и кода
Если замеры показали, что время теряется в конкретных запросах и процедурах, работа переходит на уровень конфигурации. Типовые источники потерь: запросы в цикле вместо одного пакетного запроса, обращение к базе при построчной обработке табличных частей, использование методов ПолучитьОбъект() там, где достаточно запроса, отсутствие индексирования по полям отборов в динамических списках.
Для документов, которые проводятся долго, проверьте движения по регистрам: установлен ли режим записи движений без лишних пересчётов, нет ли в обработчиках проведения обращений к СУБД внутри цикла по строкам. Часто перенос выборки данных в один запрос до цикла сокращает время проведения в несколько раз без изменения бизнес-логики.
Отчёты на СКД ускоряются корректной расстановкой индексов и ограничением выборки: отбор по периоду должен применяться на уровне запроса, а не в настройках после получения всех данных. Также проверьте, не строится ли отчёт по виртуальным таблицам без отборов — это заставляет СУБД читать весь регистр.
Когда проблема в инфраструктуре и росте нагрузки
Если диагностика показала, что железо реально упёрлось в потолок — дисковая очередь при полной памяти и оптимизированных запросах — вопрос решается масштабированием. Для дисковой подсистемы это переход на NVMe-массивы, для памяти — увеличение объёма с корректной настройкой лимитов СУБД, для процессора — добавление ядер с учётом лицензионных ограничений СУБД.
При росте числа пользователей помогает выделение отдельных серверов под разные роли: СУБД, сервер 1С, сервер отчётов и фоновых заданий. Вынос тяжёлых регламентных операций (расчёт зарплаты, закрытие месяца, большие обмены) на отдельный рабочий сервер или в ночное окно снимает пиковую нагрузку с интерактивных пользователей.
Для очень крупных баз рассматривают технологии вроде разделения данных по периодам, архивации старых лет в отдельные базы и использования возможностей масштабирования платформы. Это проектные решения, требующие тестирования, но для баз в сотни гигабайт они часто единственный способ сохранить приемлемую скорость ежедневных операций.
Как выбрать действие
Проверка результата и контрольные точки
Любое изменение нужно замерять одинаковым способом: выберите 3–5 типовых операций (открытие журнала документов, проведение конкретного документа, формирование ключевого отчёта) и фиксируйте время до и после каждого шага оптимизации. Без таких контрольных точек невозможно понять, что именно дало эффект, и не стало ли хуже в другом месте.
После регламентных операций с базой проверьте не только скорость, но и корректность: откройте отчёты с контрольными цифрами (оборотно-сальдовая ведомость, взаиморасчёты) и сверьте с копией до обслуживания. Ускорение ценой потери данных — недопустимый результат.
Как проверить результат
Сократилось или осталось прежним, стабильно при повторах
Вырасло после изменений или сильно колеблется
Близка к нулю, всплески кратковременны
Стабильно выше 1–2, диск загружен на 100%
Есть резерв, файл подкачки не растёт
Память исчерпана, активный свопинг
Все задания завершаются без ошибок по расписанию
Задания падают или накапливаются в очереди
Часто задаваемые вопросы
Ускорит ли работу переход с файловой базы на клиент-серверную?
Да, если база активно используется несколькими пользователями одновременно: клиент-серверный вариант устраняет блокировки всего файла и переносит обработку данных на сервер СУБД. Для одного-двух пользователей эффект будет незначительным, а затраты на сервер и лицензии СУБД могут не окупиться.
Поможет ли просто добавить оперативной памяти на сервер?
Только если диагностика показала нехватку памяти: активный свопинг, вытеснение кэша СУБД. Если узкое место — диски или неоптимальные запросы, дополнительная память эффекта почти не даст, хотя и не навредит.
Как часто нужно обновлять статистику и перестраивать индексы?
Зависит от интенсивности изменения данных. Для активно пополняемых баз статистику обновляют ежедневно в нерабочее время, индексы перестраивают по факту фрагментации — обычно раз в неделю или реже. Точный график подбирается по мониторингу, а не по шаблону.
Можно ли ускорить 1С, не привлекая программиста?
Часть мер доступна администратору: регламентное обслуживание базы, настройка СУБД, исключения в антивирусе, перевод филиалов на тонкий клиент, очистка устаревших данных штатными средствами. Оптимизация запросов и кода конфигурации уже требует разработчика с доступом к конфигуратору.
Почему 1С стала медленнее сразу после обновления конфигурации?
Частые причины — выполняющиеся в фоне отложенные обработчики обновления, которые пересчитывают данные, и изменения в запросах новой версии. Проверьте состояние отложенного обновления: до его завершения система может работать медленнее, это нормально. Если обработчики завершены, а скорость не вернулась — нужен замер и поиск регрессии.
Опасно ли чистить кэш 1С на клиенте?
Нет, это безопасная операция: кэш метаданных пересоздаётся автоматически при следующем запуске. Единственное последствие — первый запуск после очистки займёт чуть больше времени. Очищать кэш нужно при закрытом клиенте 1С.
Что важно запомнить
Ускорение 1С начинается с замера, а не с покупки железа. Найдите узкое место через технологический журнал, замеры и системные счётчики, затем действуйте по приоритету: обслуживание базы и настройка СУБД, режимы подключения клиентов, оптимизация запросов, и только потом масштабирование инфраструктуры. Каждый шаг проверяйте контрольными замерами и выполняйте рискованные операции только после резервной копии.