Администрирование · 11 мин
Что сделать, чтобы 1С работала быстрее
Конкретные способы ускорить 1С: настройка сервера, СУБД, регламентные задания, индексы, чистка базы. Пошаговые действия, проверка результата и типичные ошибки.
Медленная 1С почти всегда имеет конкретную причину: перегруженный сервер, неоптимальные настройки СУБД, разросшаяся база, неудачно написанные запросы или устаревшая платформа. Прежде чем что-то менять, нужно понять, где именно «узкое место» — иначе можно потратить время и деньги на апгрейд, который ничего не даст.
Первый диагностический шаг — определить, тормозит ли 1С у всех пользователей или только у части. Если медленно у всех и в любое время — проблема на сервере или в базе. Если только у одного пользователя — смотрите его компьютер, сеть и антивирус. Если тормоза возникают периодически — ищите фоновые процессы: регламентные задания, обмены, резервное копирование.
Второй шаг — замерить. Включите технологический журнал на сервере 1С или используйте замер производительности в конфигураторе («Отладка» → «Замер производительности»), чтобы увидеть, какие операции и запросы занимают больше всего времени. Без замеров оптимизация превращается в гадание.
Как найти причину медленной работы
Оптимизация начинается с локализации проблемы. Проверьте три уровня: клиент, сеть и сервер. На клиенте посмотрите загрузку процессора и диска в диспетчере задач в момент «зависания». Если компьютер загружен антивирусом или индексацией — сервер ни при чём.
Для файловой базы критична скорость диска и сети: если база лежит на сетевом диске и к ней обращаются несколько пользователей, замедление неизбежно. Для клиент-серверного варианта основные подозреваемые — СУБД (MS SQL, PostgreSQL) и сервер 1С: недостаток оперативной памяти, медленные диски, блокировки.
Полезный инструмент — Центр управления производительностью (ЦУП) или встроенный механизм оценки производительности в типовых конфигурациях. Он покажет, какие операции (проведение документов, формирование отчётов, закрытие месяца) занимают аномально много времени.
Нагрузка на CPU, RAM, диски сервера; блокировки в СУБД
Антивирус, слабый ПК, сетевое соединение, кэш 1С
Регламентные задания, обмены данными, бэкапы в рабочее время
Объём базы, версии объектов, журналы регистрации
Обновите платформу и конфигурацию
Каждый релиз платформы 1С включает оптимизации: ускорение работы СУБД, исправление утечек памяти, улучшение механизмов блокировок. Работа на платформе трёх-пятилетней давности — частая причина проблем, которые давно решены разработчиком.
Перед обновлением проверьте совместимость: конфигурация должна поддерживать целевую версию платформы (это указано в документации к конфигурации). Обязательно сделайте резервную копию и сначала разверните обновление на тестовой копии базы.
То же касается релизов конфигурации: вендор регулярно оптимизирует типовые запросы и алгоритмы. Некоторые «тормоза» в типовых отчётах и документах устраняются простым обновлением конфигурации на актуальный релиз.
Настройте сервер и СУБД
Основные ресурсы для клиент-серверной 1С — оперативная память и быстрые диски. СУБД должна получать достаточно памяти под буферный пул: если данных в базе больше, чем выделено памяти, сервер постоянно читает с диска, и всё замедляется. Файлы данных и журналы транзакций желательно размещать на SSD.
Для MS SQL проверьте: ограничение памяти сервера (max server memory), модель восстановления базы (для большинства случаев достаточно простой — Simple), регулярное обновление статистики и перестроение индексов. Фрагментированные индексы и устаревшая статистика — классическая причина того, что вчерашний быстрый запрос сегодня выполняется в десятки раз дольше.
Настройте план обслуживания СУБД: еженочное или еженедельное обновление статистики, дефрагментация индексов, очистка процедурного кэша. Это рутинные операции, которые часто забывают, а их отсутствие даёт накопительный эффект деградации.
Разделите нагрузку
Не запускайте тяжёлые регламентные задания (полнотекстовое индексирование, расчёт итогов, обмены, архивация) в рабочие часы. Перенесите их на ночь или выделите отдельный рабочий сервер кластера 1С под фоновые задания, чтобы они не конкурировали за ресурсы с интерактивной работой пользователей.
- 1Замерьте текущую производительность: время типовых операций до изменений
- 2Проверьте выделение памяти СУБД и свободное место на дисках
- 3Обновите статистику и перестройте индексы в СУБД
- 4Перенесите регламентные задания и бэкапы на нерабочие часы
- 5Повторите замеры и сравните с исходными значениями
Почистите и оптимизируйте базу данных
База растёт не только за счёт документов. Основные «пожиратели» объёма: версионирование объектов (если включено, хранит каждую версию каждого документа), журнал регистрации, историю изменений данных, полнотекстовые индексы, неактуальные данные обменов. Всё это замедляет и работу, и резервное копирование.
Настройте ограничение срока хранения версий объектов и журнала регистрации (например, несколько месяцев вместо «бессрочно»). В типовых конфигурациях есть штатные обработки очистки устаревших данных — используйте их, а не удаляйте записи вручную через СУБД.
Для старых периодов рассмотрите свёртку базы: перенос остатков на дату среза в новую базу. Это радикально уменьшает объём и ускоряет работу, но операция трудоёмкая и требует тщательной сверки остатков — выполняйте её только с резервной копией и проверкой результата.
Оптимизируйте код и запросы
Если замеры показали, что тормозят конкретные операции — документ, отчёт, обработка — причина почти всегда в алгоритмах. Классические проблемы: запросы в цикле, соединения с виртуальными таблицами без отборов, выборка всех данных с последующей фильтрацией в коде, отсутствие индексов по полям отборов.
Используйте консоль запросов с показом плана выполнения (в MS SQL — план запроса в Management Studio). Полное сканирование большой таблицы там, где ожидался поиск по индексу, — прямое указание на проблему. Часто помогает добавление индекса по реквизиту (в конфигураторе — свойство «Индексировать») или переписывание запроса с временными таблицами.
Проверьте доработки: в большинстве баз со временем накапливаются расширения, подписки на события и дополнительные отчёты, написанные разными людьми. Подписка на событие «При записи» документа с тяжёлым кодом замедляет каждое проведение, и пользователи этого не видят явно.
Частый случай: отчёт тормозит только при выборе большого периода или отсутствии отборов. Установите в отчётах обязательные отборы (период, организация) — это простая мера, которая снимает значительную часть жалоб без переписывания кода.
Оптимизируйте работу клиентов и сети
Если сервер в порядке, а отдельные пользователи жалуются — проверьте клиентскую часть. Очистка кэша 1С (удаление папок с кэшем метаданных в профиле пользователя) решает заметную часть «необъяснимых» подтормаживаний и глюков интерфейса.
Добавьте каталоги 1С и файлы базы в исключения антивируса на клиентах и на сервере — проверка каждого обращения к файлам базы антивирусом даёт существенные задержки. Для файловых баз по сети проверьте скорость сети: медленный канал или Wi-Fi вместо кабеля критичны именно для файлового режима.
Если пользователи работают удалённо, рассмотрите тонкий клиент или веб-клиент вместо толстого клиента через медленный канал — объём передаваемых данных снижается в разы. Для филиалов с плохой связью эффективнее терминальное решение (RDP) рядом с сервером 1С.
Как проверить результат оптимизации
Заметно сократилось по сравнению с замером до оптимизации
Не изменилось или выросло — узкое место не найдено
Отчёт формируется за приемлемое время даже за большой период
Отчёт зависает или падает с ошибкой нехватки памяти
CPU и диски не загружены на 100% длительное время
Постоянная 100% загрузка — нужен анализ запросов или апгрейд
Массовые жалобы прекратились
Тормозит у части пользователей — проблема на клиентах или в сети
Когда нужно аппаратное усиление
Апгрейд железа оправдан, когда диагностика показала упор в ресурсы: память СУБД заполнена и идёт активный свопинг, диски не справляются с очередью запросов, процессор сервера постоянно загружен под 100% оптимизированными запросами. В этом случае приоритеты такие: сначала оперативная память, затем быстрые SSD под базу и журналы, затем процессор.
Для файловых баз с числом пользователей больше нескольких человек переход на клиент-серверный вариант даёт больший эффект, чем любой апгрейд железа: файловый режим имеет архитектурное ограничение по конкурентной работе, которое не лечится мощным сервером.
Как выбрать действие
Частые вопросы
Ускорит ли работу 1С переход на SSD?
Да, если узким местом являются дисковые операции: файловая база на HDD, файлы данных и журналы СУБД на медленных дисках. Если же проблема в неоптимальных запросах или нехватке памяти, эффект от SSD будет незначительным. Сначала сделайте замеры.
Помогает ли увеличение оперативной памяти сервера?
Помогает, когда СУБД не хватает памяти под буфер и данные постоянно читаются с диска — это видно по высокой дисковой активности и свопингу. Просто добавить память без настройки ограничений СУБД (max server memory) недостаточно: сервер должен реально использовать выделенный объём.
Можно ли ускорить 1С, не привлекая программиста?
Да, часть мер доступна администратору без доработки кода: обновление платформы, очистка кэша, исключения антивируса, перенос регламентных заданий на ночь, обновление статистики и индексов в СУБД, ограничение версионирования. Оптимизация запросов и кода уже требует разработчика.
Почему 1С стала медленнее после обновления конфигурации?
Возможные причины: после обновления не выполнены отложенные обработчики обновления данных (проверьте их статус в настройках поддержки), сбросилась статистика СУБД, включились новые механизмы вроде версионирования. Дождитесь завершения отложенных обработчиков и обновите статистику в СУБД.
Стоит ли отключать журнал регистрации для скорости?
Полностью отключать не рекомендуется — это основной инструмент расследования ошибок и инцидентов. Вместо этого сократите срок хранения и уровень детализации: регистрируйте ошибки и предупреждения, а не все события подряд.
Как понять, что пора переходить с файловой базы на клиент-серверную?
Признаки: одновременно работают более 5–10 пользователей, часто возникают конфликты блокировок, база превышает несколько гигабайт, резервное копирование занимает много времени и мешает работе. Клиент-серверный вариант снимает ограничения файлового режима по конкурентному доступу.
Что важно запомнить
Ускорение 1С начинается с диагностики, а не с покупки железа. Последовательность: замеры, обновление платформы, настройка СУБД и регламентных заданий, чистка базы, оптимизация запросов — и только потом апгрейд оборудования. Любые изменения выполняйте с резервной копией и проверкой результата повторными замерами.