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

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

Что сделать, чтобы 1С работала быстрее

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

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

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

Второй шаг — замерить. Включите технологический журнал на сервере 1С или используйте замер производительности в конфигураторе («Отладка» → «Замер производительности»), чтобы увидеть, какие операции и запросы занимают больше всего времени. Без замеров оптимизация превращается в гадание.

Как найти причину медленной работы

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

Для файловой базы критична скорость диска и сети: если база лежит на сетевом диске и к ней обращаются несколько пользователей, замедление неизбежно. Для клиент-серверного варианта основные подозреваемые — СУБД (MS SQL, PostgreSQL) и сервер 1С: недостаток оперативной памяти, медленные диски, блокировки.

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

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

Нагрузка на CPU, RAM, диски сервера; блокировки в СУБД

Тормозит один пользовательПроблема на клиенте

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

Тормозит периодическиФоновые процессы

Регламентные задания, обмены данными, бэкапы в рабочее время

Медленно растёт со временемРазрастание базы

Объём базы, версии объектов, журналы регистрации

Обновите платформу и конфигурацию

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

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

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

Настройте сервер и СУБД

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

Для MS SQL проверьте: ограничение памяти сервера (max server memory), модель восстановления базы (для большинства случаев достаточно простой — Simple), регулярное обновление статистики и перестроение индексов. Фрагментированные индексы и устаревшая статистика — классическая причина того, что вчерашний быстрый запрос сегодня выполняется в десятки раз дольше.

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

Разделите нагрузку

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

Порядок базовой оптимизации сервера
  1. 1
    Замерьте текущую производительность: время типовых операций до изменений
  2. 2
    Проверьте выделение памяти СУБД и свободное место на дисках
  3. 3
    Обновите статистику и перестройте индексы в СУБД
  4. 4
    Перенесите регламентные задания и бэкапы на нерабочие часы
  5. 5
    Повторите замеры и сравните с исходными значениями

Почистите и оптимизируйте базу данных

База растёт не только за счёт документов. Основные «пожиратели» объёма: версионирование объектов (если включено, хранит каждую версию каждого документа), журнал регистрации, историю изменений данных, полнотекстовые индексы, неактуальные данные обменов. Всё это замедляет и работу, и резервное копирование.

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

Для старых периодов рассмотрите свёртку базы: перенос остатков на дату среза в новую базу. Это радикально уменьшает объём и ускоряет работу, но операция трудоёмкая и требует тщательной сверки остатков — выполняйте её только с резервной копией и проверкой результата.

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

Оптимизируйте код и запросы

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

Используйте консоль запросов с показом плана выполнения (в MS SQL — план запроса в Management Studio). Полное сканирование большой таблицы там, где ожидался поиск по индексу, — прямое указание на проблему. Часто помогает добавление индекса по реквизиту (в конфигураторе — свойство «Индексировать») или переписывание запроса с временными таблицами.

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

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

Оптимизируйте работу клиентов и сети

Если сервер в порядке, а отдельные пользователи жалуются — проверьте клиентскую часть. Очистка кэша 1С (удаление папок с кэшем метаданных в профиле пользователя) решает заметную часть «необъяснимых» подтормаживаний и глюков интерфейса.

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

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

Контрольные точки

Как проверить результат оптимизации

Время проведения типового документа
Норма

Заметно сократилось по сравнению с замером до оптимизации

Тревожный признак

Не изменилось или выросло — узкое место не найдено

Время формирования ключевых отчётов
Норма

Отчёт формируется за приемлемое время даже за большой период

Тревожный признак

Отчёт зависает или падает с ошибкой нехватки памяти

Нагрузка на сервер в рабочие часы
Норма

CPU и диски не загружены на 100% длительное время

Тревожный признак

Постоянная 100% загрузка — нужен анализ запросов или апгрейд

Жалобы пользователей
Норма

Массовые жалобы прекратились

Тревожный признак

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

Когда нужно аппаратное усиление

Апгрейд железа оправдан, когда диагностика показала упор в ресурсы: память СУБД заполнена и идёт активный свопинг, диски не справляются с очередью запросов, процессор сервера постоянно загружен под 100% оптимизированными запросами. В этом случае приоритеты такие: сначала оперативная память, затем быстрые SSD под базу и журналы, затем процессор.

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

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

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

База файловая, пользователей больше 5–10Планируйте переход на клиент-серверный вариант (СУБД)
Медленно выполняются конкретные запросы и отчётыОптимизируйте запросы и индексы, железо не поможет
Сервер постоянно загружен на 100% при оптимизированном кодеНаращивайте RAM и переходите на SSD
Тормоза только у удалённых пользователейВнедряйте тонкий/веб-клиент или терминальный доступ

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

Ускорит ли работу 1С переход на SSD?

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

Помогает ли увеличение оперативной памяти сервера?

Помогает, когда СУБД не хватает памяти под буфер и данные постоянно читаются с диска — это видно по высокой дисковой активности и свопингу. Просто добавить память без настройки ограничений СУБД (max server memory) недостаточно: сервер должен реально использовать выделенный объём.

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

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

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

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

Стоит ли отключать журнал регистрации для скорости?

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

Как понять, что пора переходить с файловой базы на клиент-серверную?

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

Итог

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

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