Администрирование · 11 мин
Как ускорить работу 1С 8: от диагностики до настройки сервера и базы
Конкретные способы ускорить 1С 8: настройка сервера, СУБД, индексов, оборудования и типовых конфигураций. Диагностика узких мест и пошаговые действия.
Медленная работа 1С 8 почти всегда имеет конкретную причину, а не «возраст программы». Чаще всего виноваты перегруженный сервер 1С или СУБД, неподходящие настройки SQL Server или PostgreSQL, отсутствие регламентного обслуживания базы, слабые диски или неоптимальные запросы в конфигурации. Прежде чем что-то менять, нужно понять, где именно теряется время: на клиенте, на сервере приложений, в СУБД или в сети.
Практика показывает, что один и тот же симптом — «документ проводится 30 секунд» — может иметь совершенно разные корни: блокировки при параллельной работе пользователей, отсутствие индекса по часто используемому полю, переполненный tempdb или антивирус, сканирующий файлы базы. Поэтому ускорение начинается с измерения, а не с настроек вслепую.
Ниже разобраны рабочие методы оптимизации: от простых действий, доступных администратору без программирования, до настройки СУБД и доработки конфигурации. Действуйте по порядку: сначала диагностика, затем инфраструктура, затем тонкая настройка.
Шаг 1. Найдите узкое место: клиент, сервер или СУБД
Диагностика начинается с простого теста: запустите операцию на сервере локально (через толстый клиент на самом сервере) и сравните время с работой пользователя по сети. Если на сервере быстро, а у пользователя медленно — проблема в сети или тонком клиенте. Если медленно везде — смотрите СУБД и сервер 1С.
Встроенный инструмент «Замер производительности» (в режиме конфигуратора: Отладка → Замер производительности) покажет, какие строки кода и запросы занимают больше всего времени. Для серверных баз включите технологический журнал с событиями DBMSSQL/DBPOSTGRS и TLOCK — он фиксирует длительные запросы и блокировки.
Полезный ориентир: если запрос к СУБД занимает более нескольких секунд при типовой операции, смотрите план запроса в Management Studio или pgAdmin. Сканирование таблиц вместо поиска по индексу — типичный признак проблемы.
Проверьте загрузку CPU, дисков и памяти на сервере СУБД
Сравните скорость с сервера и с рабочего места
Давно ли обновлялась статистика и делалась реиндексация
Смотрите события TLOCK в технологическом журнале
Шаг 2. Проверьте оборудование: диски, память, процессор
Главный апгрейд для скорости 1С — быстрые диски. База на обычных HDD будет тормозить при любом количестве оперативной памяти, потому что СУБД постоянно читает и пишет данные. Перенос базы на SSD (лучше NVMe или серверные SATA/SAS SSD) часто даёт ускорение в разы без единой настройки.
По памяти ориентируйтесь на размер активной части базы: СУБД должна уметь кэшировать в RAM хотя бы «горячие» таблицы и индексы. Если база 50 ГБ, а памяти на сервере 8 ГБ, диск будет работать постоянно. При этом не выделяйте SQL Server всю память — оставьте запас операционной системе.
Процессор важен для сервера 1С (rphost): там выполняется код конфигурации. Если в диспетчере задач процесс rphost упирается в 100% одного ядра, а остальные простаивают — узкое место в однопоточном коде, и поможет только оптимизация запросов и алгоритмов, а не добавление ядер.
Шаг 3. Настройте СУБД правильно
Для Microsoft SQL Server проверьте ключевые параметры: ограничение максимальной памяти (max server memory), размещение tempdb на быстром диске с несколькими файлами данных, автоматический рост файлов базы фиксированным шагом вместо процентов. Модель восстановления для рабочих баз обычно Full с регулярным бэкапом журнала; Simple подходит, если допустима потеря данных между резервными копиями.
Для PostgreSQL критичны параметры shared_buffers, work_mem, effective_cache_size и настройки автовакуума. Конфигурация по умолчанию рассчитана на слабое железо и почти всегда требует ручной настройки под объём базы и память сервера.
Отдельная частая ошибка — антивирус на сервере СУБД. Добавьте в исключения каталоги с файлами базы, журналами транзакций и tempdb, иначе каждая операция записи будет сканироваться и тормозить всю систему.
EXEC sp_updatestats; -- обновление статистики в MS SQL
ALTER INDEX ALL ON dbo._AccumRg12345 REBUILD; -- перестроение индексов таблицыШаг 4. Настройте регламентное обслуживание базы
Статистика и индексы деградируют по мере работы: данные меняются, а СУБД строит планы запросов по устаревшим представлениям о распределении данных. Результат — внезапные «тормоза» операций, которые вчера работали нормально.
Настройте регулярные задания: обновление статистики ежедневно или несколько раз в неделю, реиндексацию (перестроение индексов) раз в неделю в нерабочее время, очистку устаревших данных. В 1С также полезно периодически выполнять «Тестирование и исправление» информационной базы (для файловых баз — обязательно с выгруженной копией).
Уменьшайте объём данных: свёртка итогов старых периодов, пометка на удаление и физическое удаление ненужных документов, очистка регистров сведений с историей версий. Чем меньше таблицы, тем быстрее запросы и обслуживание.
- 1Сделайте резервную копию базы перед любыми операциями
- 2Обновите статистику по всем таблицам
- 3Выполните перестроение или реорганизацию индексов
- 4Проверьте и очистите избыточные данные (помеченные объекты, старые версии)
- 5Запланируйте задания на регулярное выполнение в нерабочие часы
- 6Замерьте время типовых операций до и после — зафиксируйте результат
Шаг 5. Оптимизируйте настройки сервера 1С и кластера
В консоли кластера серверов 1С обратите внимание на количество рабочих процессов и лимиты памяти: если rphost регулярно перезапускается из-за превышения лимита, пользователи ощущают подвисания. Настройте допустимый объём памяти и интервал перезапуска под реальную нагрузку.
Для больших баз включите управляемые блокировки в СУБД (режим управляемых транзакционных блокировок) — в типовых конфигурациях он обычно уже включён. Автоматический режим блокировок при параллельной работе даёт взаимоблокировки и очереди ожидания.
Проверьте размещение служб: сервер 1С и СУБД могут работать на одной машине при небольшой нагрузке, но при росте числа пользователей их лучше разнести на разные серверы, чтобы СУБД не конкурировала за память с rphost.
Как выбрать действие
Шаг 6. Оптимизируйте конфигурацию и типовые операции
Если замеры показывают, что время уходит на конкретный код — типичные приёмы: замена запросов в цикле на пакетные запросы, использование временных таблиц, отказ от выборки лишних полей, индексация полей, по которым идут соединения и отборы. Проверяйте планы запросов после каждого изменения.
В типовых конфигурациях без доработок проверьте настройки: отключите неиспользуемые функциональные опции и подсистемы, сократите глубину хранения версий объектов, настройте регламентные задания так, чтобы тяжёлые операции (расчёт итогов, обмен данными) выполнялись ночью, а не в пик работы.
Отдельный источник тормозов — отчёты, построенные на полных соединениях больших таблиц без отборов. Добавьте обязательные отборы по периоду, используйте СКД с параметрами вместо «выбрать всё и отфильтровать на клиенте».
Шаг 7. Проверьте результат и закрепите эффект
После каждого изменения замеряйте одни и те же контрольные операции: открытие журнала документов, проведение типового документа, формирование ключевого отчёта. Фиксируйте время до и после — только так можно понять, что именно сработало.
Закрепите результат регламентом: расписание обслуживания СУБД, мониторинг места на дисках и роста базы, периодический контроль длительных запросов. Производительность деградирует постепенно, и без регламента через полгода всё вернётся к исходной точке.
Как проверить результат
Стабильно быстро и не растёт день ото дня
Время плавает или постепенно увеличивается
Диски не упираются в 100% длительное время
Диск постоянно занят, очередь растёт
Нет запросов длительностью в десятки секунд
Регулярные длительные запросы и TLOCK
СУБД кэширует данные, нет активного свопа
Постоянное использование файла подкачки
Что важно запомнить
Ускорение 1С 8 начинается с измерения: технологический журнал и замеры производительности покажут реальное узкое место. Базовый набор — SSD для базы, достаточный объём памяти, правильная настройка СУБД, регулярное обновление статистики и реиндексация, исключение каталогов базы из антивируса. Любые изменения выполняйте после резервного копирования и проверяйте результат замерами.
Частые вопросы
Ускорит ли работу переход с файловой базы на клиент-серверную?
Да, если пользователей больше нескольких человек и база активно используется. Файловый режим передаёт по сети целые таблицы и плохо переносит параллельную работу. Клиент-серверный вариант с MS SQL или PostgreSQL снимает эти ограничения, но требует грамотной настройки СУБД — сам по себе переход без настройки даёт скромный эффект.
Поможет ли увеличение оперативной памяти серверу?
Только если узкое место — память: СУБД не может кэшировать данные и постоянно читает с диска. Если диски медленные, а памяти достаточно, добавление RAM почти ничего не даст. Сначала проверьте загрузку дисков и объём кэша СУБД, потом принимайте решение.
Как часто нужно делать реиндексацию и обновление статистики?
Обновление статистики — ежедневно или несколько раз в неделю, реиндексацию — обычно раз в неделю в нерабочее время. Точная периодичность зависит от интенсивности изменения данных: чем активнее работа, тем чаще нужно обслуживание. Признак необходимости — постепенное замедление типовых операций.
Почему 1С тормозит именно в конце месяца или в отчётный период?
Растёт нагрузка: больше пользователей одновременно проводят документы, запускаются тяжёлые отчёты и расчёты, чаще возникают блокировки. Помогает перенос регламентных заданий и отчётов на нерабочие часы, а также проверка управляемых блокировок и длительных запросов в пиковые часы.
Влияет ли антивирус на скорость 1С?
Да, существенно: сканирование файлов базы, журналов транзакций и tempdb при каждой операции записи даёт заметные задержки. Добавьте каталоги СУБД и сервера 1С в исключения антивируса, оставив защиту остальной системы. Это одна из самых частых причин «необъяснимых» тормозов на сервере.
Можно ли ускорить 1С без доработки конфигурации?
Часто да: настройка СУБД, регламентное обслуживание, переход на SSD, отключение неиспользуемых функциональных опций и оптимизация расписания регламентных заданий не требуют изменения кода. Доработка нужна, когда замеры показывают, что время теряется в конкретных запросах и алгоритмах конфигурации.