Почему 1С крайне медленно работает в клиент-серверном режиме и как ускорить открытие и проведение документов?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Ситуация, когда мощный на первый взгляд сервер (много ядер, достаточно оперативной памяти, NVMe-диски) показывает крайне низкую производительность в 1С, встречается довольно часто. Особенно остро это проявляется в клиент-серверном варианте на виртуальных машинах (VDS/VPS). Разберем пошагово, почему возникают задержки до минуты при открытии форм и до нескольких минут при проведении документов, и как это исправить.

Проанализируем специфику работы на VDS

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

  1. Частота процессора против количества ядер. Для 1С критически важна производительность на одно ядро (однопоточный режим). Если хостер предоставляет 9 ядер с низкой базовой частотой (например, 2.2 ГГц), 1С будет работать медленнее, чем на обычном ПК с частотой 4 ГГц.
  2. CPU Steal Time. Это время, когда ваша виртуальная машина хочет выполнить операцию, но физический процессор занят задачами другого клиента. Проверим этот показатель в мониторинге производительности. Если он высок — никакие настройки внутри системы не помогут, нужно менять тариф или хостера.
  3. Дисковая подсистема. Даже если используется NVMe, общая шина данных может быть перегружена. В 1С важна не только линейная скорость, но и IOPS (количество операций ввода-вывода в секунду) и задержки (Latency).

Разберем настройку схемы электропитания Windows

Одной из самых частых причин "задумчивости" 1С на Windows Server 2019/2022 является работа процессора в энергосберегающем режиме. По умолчанию в Windows установлена "Сбалансированная" схема. В этом режиме процессор постоянно сбрасывает частоту и "засыпает" при низких нагрузках. Для 1С, которая генерирует короткие, но очень интенсивные всплески нагрузки, это губительно.

Что нужно сделать:

  1. Перейдем в "Панель управления" — "Электропитание".
  2. Установим схему "Высокая производительность" (High Performance).
  3. В дополнительных параметрах проверим, чтобы "Минимальное состояние процессора" было равно 100%.

Это заставит процессор работать на максимальной частоте постоянно, исключая микрозадержки на "разогрев" ядра.

Настроим SQL Server для работы с 1С

Неправильная настройка MS SQL Server может замедлить проведение документов в разы. Выясним основные параметры, которые требуют корректировки:

Параметр Max Degree of Parallelism (MaxDOP). По умолчанию SQL Server пытается распараллелить выполнение запроса на все доступные ядра. Для 1С это часто вредно, так как затраты на координацию ядер превышают выгоду от параллельности. Рекомендуем установить MaxDOP = 1 (или 2, если ядер много, но начинать лучше с 1).

Параметр Cost Threshold for Parallelism. Если вы все же решили оставить частичную параллельность, установите порог стоимости параллелизма равным 50. Это не даст SQL Server "дробить" мелкие запросы.

Режим изоляции (Read Committed Snapshot Isolation). Чтобы пользователи не блокировали друг друга при чтении данных во время проведения документов, включим версионирование. Выполним следующий скрипт в SQL Management Studio:


ALTER DATABASE [Имя_Вашей_Базы] SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE [Имя_Вашей_Базы] SET READ_COMMITTED_SNAPSHOT ON;

Проанализируем влияние сетевых протоколов и IPv6

Современные версии Windows Server (2019/2022) по умолчанию отдают приоритет протоколу IPv6. Платформа 1С в некоторых конфигурациях сети может пытаться сначала установить соединение по IPv6, ждать тайм-аута и только потом переходить на IPv4. Это дает те самые "зависания" на 10-20 секунд при открытии форм.

Решение: Полностью отключим IPv6 в свойствах сетевого адаптера или через реестр. Также проверим файл hosts: в нем должна быть только одна запись для localhost — 127.0.0.1.

Выясним причину задержек в лицензировании

Если сервер лицензий вынесен на отдельный VDS, как в рассматриваемом случае, это может стать "бутылочным горлышком". При каждом открытии формы или начале транзакции 1С проверяет наличие лицензии. Любая задержка в сети между сервером приложений и сервером лицензий приводит к фризам интерфейса.

Рассмотрим рекомендации:

Настроим антивирус и Windows Defender

Часто системные администраторы забывают, что антивирус проверяет каждый временный файл, создаваемый 1С или SQL Server. Рассмотрим список исключений, которые необходимо добавить:

  1. Процессы: rphost.exe, rmngr.exe, ragent.exe, sqlservr.exe.
  2. Расширения файлов: *.mdf, *.ldf, *.log.
  3. Папки: Каталоги с базами данных, папка сервера 1С в Program Files, а также папки временных файлов (Temp) пользователей, под которыми работают службы.

Проверим производительность тестом Гилева

Для объективной оценки ситуации используем "Тест Гилева". Он позволяет получить числовой показатель производительности системы. Рассмотрим интерпретацию результатов:

Если тест показывает низкий результат при пустом сервере, значит, проблема в низкой частоте процессора или ограничениях VDS (Overcommit ресурсов хостером).

Регламентные операции в SQL

Посмотрим на состояние индексов и статистики. Даже на маленьких базах (4 ГБ) фрагментация индексов может достигать 90% после интенсивного ввода документов. Настроим ежедневное обслуживание:

Резюме: В большинстве случаев "тормоза" на VDS лечатся установкой режима "Высокая производительность" в Windows, настройкой MaxDOP = 1 в SQL и отключением IPv6. Если эти меры не помогают, необходимо проверить однопоточную мощность процессора у хостера — для 1С это критический фактор.

← На главную