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

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

От чего зависит скорость работы 1С и как её ускорить

Разбираем, от чего зависит скорость работы 1С: сервер, СУБД, сеть, конфигурация, объём базы. Практические способы диагностики и ускорения программы.

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

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

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

Аппаратное обеспечение сервера: диски, память и процессор

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

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

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

ДискЗагрузка диска близка к 100%

Очередь диска и время отклика в мониторе ресурсов

ПамятьСвободной RAM почти нет, активен файл подкачки

Использование памяти и page file на сервере СУБД

ПроцессорЗагрузка CPU стабильно выше 80%

Какие процессы грузят ядра: СУБД, rphost или сторонние

Настройки СУБД: почему «из коробки» работает медленно

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

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

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

Сеть и расположение клиентов

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

Для офисной сети критичны пропускная способность и задержка (latency). Особенно чувствительны к задержке тонкий клиент и веб-клиент: при задержке в десятки миллисекунд интерфейс начинает ощутимо «подтормаживать». При удалённой работе предпочтительнее RDP-доступ к терминальному серверу рядом с базой, чем прямое подключение клиента через интернет.

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

Объём базы и структура данных

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

На скорость влияет не только общий размер, но и структура данных: длинные табличные части документов, огромные движения по регистрам, избыточные итоги, большое число записей в справочниках с неудачными индексами. Частый источник проблем — накопленные «мусорные» данные: помеченные на удаление объекты, старые версии файлов, лишние записи в регистрах сведений.

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

Конфигурация и качество кода

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

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

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

Порядок базовой диагностики
  1. 1
    Воспроизведите медленную операцию и зафиксируйте время выполнения
  2. 2
    Проверьте загрузку дисков, памяти и CPU на сервере в момент операции
  3. 3
    Включите технологический журнал и найдите длительные запросы к СУБД
  4. 4
    Проверьте план проблемного запроса: нет ли сканирования больших таблиц
  5. 5
    Проверьте актуальность статистики и фрагментацию индексов по затронутым таблицам
  6. 6
    Повторите замер после исправления и сравните результат

Режим работы и фоновые процессы

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

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

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

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

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

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

Сравнивайте результаты при одинаковой нагрузке: замер «ночью до» и «днём после» ничего не доказывает. Если эффекта нет или он минимален — возвращайтесь к диагностике: вероятно, устранён не тот фактор.

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

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

Время типовой операции
Норма

Сократилось при той же нагрузке

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

Не изменилось или выросло

Загрузка диска в пике
Норма

Есть запас, очередь небольшая

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

Диск «упирается» в 100%

Длительные запросы в техжурнале
Норма

Исчезли или стали заметно короче

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

Те же запросы с тем же временем

Субъективная оценка пользователей
Норма

Жалобы прекратились

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

Пользователи не заметили разницы

Итог

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

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

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

Что даёт больший эффект: апгрейд сервера или оптимизация кода?

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

Почему 1С со временем начинает работать медленнее, хотя ничего не менялось?

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

Ускорит ли работу переход с файлового варианта на клиент-серверный?

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

Влияет ли версия платформы 1С на скорость?

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

Можно ли ускорить 1С, если сервер арендован в облаке?

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

Как понять, что проблема в конкретном отчёте, а не в системе целиком?

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