Как устранить зависания и тормоза файловой 1С 8.3 на терминальном сервере Windows Server 2016

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

Перевод терминальной инфраструктуры на более современную операционную систему часто преподносит неприятные сюрпризы системным администраторам. Ситуация, когда на старой Windows Server 2008 база 1С «летала», а после обновления до Windows Server 2016 и добавления оперативной памяти начала жутко тормозить даже при работе одного пользователя — классическая проблема. Выясним технические причины такого поведения системы и разберем комплексный план оптимизации.

Почему современный сервер «тормозит» на файловой 1С?

Прежде чем переходить к практическим шагам, проанализируем архитектурные особенности связки файловой 1С:Предприятие 8.3 и операционной системы Windows Server 2016. Основная сложность заключается в том, что файловый движок 1С выполняет практически все критические операции в один поток. Это означает, что общая многоядерность процессора не имеет решающего значения для скорости работы отдельного пользователя. Если у вас установлен многоядерный процессор с низкой тактовой частотой (например, популярный в недорогих серверах Intel Xeon E5-2603 с частотой всего 1.6 ГГц и без поддержки технологии Intel Turbo Boost), то производительность 1С будет крайне низкой.

Дополнительно операционная система Windows Server 2016 содержит встроенные механизмы безопасности и планирования ресурсов, которые по умолчанию настроены «против» специфики работы файловой 1С. Рассмотрим подробнее пошаговый алгоритм оптимизации сервера.

---

Шаг 1. Аппаратная настройка электропитания в BIOS и ОС

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

Выполним глубокую настройку электропитания:

  1. Перезагрузите сервер, войдите в настройки BIOS/UEFI.
  2. Найдите раздел управления питанием (он может называться Power Management, CPU Power Control или Power Regulator).
  3. Переведите режим работы из состояния Dynamic Power Savings (динамическое энергосбережение) или OS Control (управление операционной системой) в режим Static High Performance (максимальная производительность).
  4. Отключите технологии энергосбережения процессора: Intel SpeedStep (EIST) и процессорные состояния глубокого сна C-States (C1E, C3, C6). Это заставит процессор всегда работать на своей максимальной физической частоте.
  5. Загрузите операционную систему. Откройте панель управления, перейдите в раздел «Электропитание» и активируйте схему «Высокая производительность».
  6. Откройте дополнительные параметры выбранной схемы питания, разверните пункт «Управление питанием процессора» и убедитесь, что параметры «Минимальное состояние процессора» и «Максимальное состояние процессора» установлены в значение 100%.

---

Шаг 2. Отключение патчей безопасности Spectre и Meltdown

В ядро Windows Server 2016 интегрирована программная защита от аппаратных уязвимостей процессоров Spectre и Meltdown (технология KVA Shadowing). На старых поколениях процессоров (включая семейство Intel Xeon E5 v1/v2) эта защита не имеет аппаратной поддержки и выполняется программно силами ОС. Это приводит к падению производительности дисковых операций ввода-вывода (I/O) и системных вызовов на 30–40%. Поскольку файловая 1С непрерывно считывает и записывает тысячи мелких блоков в файл базы данных, эта защита превращает работу пользователей в слайд-шоу.

Если ваш сервер находится в закрытом корпоративном контуре и защищен от внешних угроз, данные патчи безопасности рекомендуется отключить. Разберем, как сделать это через реестр:

  1. Откройте редактор реестра regedit от имени администратора.
  2. Перейдите по следующему пути: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  3. Создайте или измените два параметра типа DWORD (32-бит) со следующими значениями:
    • Имя: FeatureSettingsOverride, Значение: 3
    • Имя: FeatureSettingsOverrideMask, Значение: 3
  4. Перезагрузите сервер для вступления изменений в силу.

---

Шаг 3. Отключение планировщика Fair Share (DFSS)

В Windows Server 2016 по умолчанию активна служба динамического распределения ресурсов между терминальными сессиями — Dynamic Fair Share Scheduling (DFSS). Данная технология пытается делить процессорное время, дисковую активность и сетевой поток поровну между всеми RDP-сеансами. Когда один пользователь запускает тяжелый отчет или производит проведение документов в 1С, планировщик DFSS ошибочно воспринимает этот всплеск как попытку монополизировать сервер и искусственно «зажимает» дисковые и процессорные очереди для этой сессии, вызывая зависания.

Для отключения этого механизма выполним следующие команды в консоли PowerShell, запущенной от имени администратора:


# Отключение CPU Fair Share
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System" -Name "EnableCpuQuota" -Value 0

# Отключение Disk Fair Share
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk" -Name "EnableFairShare" -Value 0

# Отключение Network Fair Share
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\TSFairShare\Net" -Name "EnableFairShare" -Value 0

После выполнения команд необходимо перезагрузить терминальный сервер.

---

Шаг 4. Настройка исключений антивирусного ПО и Windows Defender

Файловая база 1С состоит из единого файла базы данных 1Cv8.1CD и транзакционного лога 1Cv8.1CL. Антивирусы (например, Kaspersky) и встроенный защитник Windows Defender по умолчанию проверяют файл базы при каждом обращении к нему. При работе даже 5–8 пользователей на сервере генерируется колоссальный поток дисковых запросов, и антивирус полностью парализует работу дисковой подсистемы.

Даже если сторонний антивирус отключен, встроенный Windows Defender в Windows Server 2016 продолжает автоматически работать в фоновом режиме. Настроим правила исключений:

  1. Добавьте в список исключений сканирования файлы по маске расширения: *.1CD, *.1CL, *.cdn, *.elf.
  2. Добавьте в исключения исполняемые файлы платформы 1С: 1cv8.exe, 1cv8c.exe, 1cv8s.exe.
  3. Добавьте в исключения каталоги, в которых располагаются сами файловые базы данных.
  4. Добавьте в список исключений каталоги временных файлов и кэша пользователей:
    • C:\Users\*\AppData\Local\Temp\
    • C:\Users\*\AppData\Local\1C\
    • C:\Users\*\AppData\Roaming\1C\

---

Шаг 5. Исправление задержек отрисовки графики в RDP (WDDM драйвер)

Жалобы пользователей на то, что «закрытие вкладки в 1С происходит по 5 секунд», чаще всего указывают на проблему отрисовки графического интерфейса в RDP-сессиях Windows Server 2016. По умолчанию эта ОС использует современный графический драйвер WDDM для удаленных столов. На серверах без дискретной видеокарты вся отрисовка ложится на плечи центрального процессора, что при низкой частоте ядер приводит к жутким визуальным задержкам.

Переведем систему на классический облегченный драйвер XDDM через редактор локальной групповой политики:

  1. Нажмите сочетание клавиш Win + R, введите gpedit.msc и нажмите Enter.
  2. Перейдите по пути: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Среда удаленных сеансов.
  3. Найдите параметр «Использовать графический драйвер WDDM для подключений к удаленным рабочим столам».
  4. Откройте его, установите значение «Отключено» (Disabled) и нажмите ОК.
  5. Обновите групповые политики, выполнив в командной строке gpupdate /force.

---

Шаг 6. Очистка кэша пользователей и исправление бага брандмауэра

При переходе на новые версии платформы (например, с 8.3.12 на 8.3.14) старый пользовательский кэш начинает конфликтовать с новыми библиотеками платформы, вызывая замедление работы и падения программы. Кэш необходимо регулярно очищать.

Рассмотрим пример скрипта автоматизации на языке PowerShell, который можно запускать в планировщике задач Windows по ночам для очистки кэша всех терминальных пользователей:


# Скрипт очистки кэша 1С для всех пользователей терминала
$UsersDir = "C:\Users"
Get-ChildItem $UsersDir | Forough-Object {
    $UserLocal1C = "$($_.FullName)\AppData\Local\1C\1cv8"
    $UserRoaming1C = "$($_.FullName)\AppData\Roaming\1C\1cv8"
    
    if (Test-Path $UserLocal1C) {
        Remove-Item -Path "$UserLocal1C\*" -Recurse -Force -ErrorAction SilentlyContinue
    }
    if (Test-Path $UserRoaming1C) {
        Remove-Item -Path "$UserRoaming1C\*" -Recurse -Force -ErrorAction SilentlyContinue
    }
}

Также обратите внимание на известный баг брандмауэра Windows Defender в Server 2016. При каждом входе пользователя создаются тысячи неявных правил брандмауэра, которые не удаляются автоматически. Это тормозит любые сетевые операции файловой 1С. Проверьте количество правил командой в PowerShell:

(Get-NetFirewallRule).count

Если число превышает несколько тысяч, это критическая проблема. Решается она установкой последних накопительных обновлений Windows Server 2016 или периодическим скриптовым удалением устаревших правил в реестре по ветке HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\AppIso\FirewallRules.

---

Шаг 7. Альтернатива RDP: публикация файловой базы на веб-сервере

Если руководство компании категорически отказывается приобретать дорогостоящую лицензию на сервер 1С (клиент-серверный вариант), но комфортная работа пользователям необходима, рассмотрим альтернативную архитектуру. Вместо запуска «тяжелых» сеансов RDP, опубликуем файловую базу данных на бесплатном веб-сервере IIS (встроенная роль Windows) или Apache прямо на этом же сервере.

Преимущества такой схемы огромны:

Рекомендуем настроить публикацию базы на веб-сервере через встроенный помощник в конфигураторе 1С (меню «Администрирование» -> «Публикация на веб-сервере») и перевести сотрудников на работу через тонкий клиент. Это позволит комфортно работать группе до 10–12 пользователей даже на относительно слабом оборудовании.

← На главную