· 16 мин чтения

Оптимизация терминального сервера Windows: плотность и отклик под 1С и Office

Семёнов Евгений, директор АйТи Фреш. Первый свой RDS-сервер я настроил на Windows Server 2003 в 2010 году — десять пользователей с 1С 7.7 на сервере с 4 ГБ оперативной. Сегодня стандартный запрос — «заведите 50 юзеров в 1С:ЗУП и Office на один сервер». За 15+ лет я накопил набор настроек и скриптов, с которыми терминальник реально держит плотность в 1.5 раза выше дефолта без потери отзывчивости. Делюсь.

С чего начинается оптимизация

С измерений. Я никогда не крутил настройки вслепую. Набор метрик, которые снимаю до и после оптимизации:

VDI Optimization Tool от Microsoft

Первый инструмент — официальный скрипт Microsoft Windows Virtual Desktop Optimization Tool (работает и на обычном RDS). Он отключает телеметрию, Store-приложения, лишние сервисы, визуальные эффекты.

# Скачиваем с GitHub microsoft/Virtual-Desktop-Optimization-Tool
git clone https://github.com/The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool.git

# Запускаем
cd Virtual-Desktop-Optimization-Tool
.\Windows_VDOT.ps1 -Optimizations All -AcceptEULA -Verbose

После выполнения — обязательный ребут. На свежеустановленном Server 2022 у меня высвобождается 250–400 МБ RAM и 3–5% CPU idle нагрузки.

Отключение ненужных сервисов

СлужбаСостояниеКомментарий
SysMain (Superfetch)DisabledБесполезна на многопользовательских серверах
WSearchManual/DisabledТолько если пользователи не ищут по OST
ThemesAutomaticОставляем — Office зависит
Print SpoolerAuto или DisabledDisabled если печать через отдельный Print Server
Xbox servicesDisabledНе нужны
Connected User Experiences and TelemetryDisabledGPO Telemetry=0
Windows Update (в рабочие часы)Trigger startЧерез GPO окна

GPO для терминального сервера

Я всегда собираю отдельную GPO «RDS-Server-Optimization» с таким набором:

FSLogix для профилей

Без FSLogix терминальник живёт плохо. Roaming profile копирует профиль при входе/выходе, это занимает минуты; локальные профили — привязаны к одному серверу фермы. FSLogix монтирует VHDX с профилем как виртуальный диск: скорость — как локальная, а мигрирует между Session Host прозрачно.

# Установка
msiexec /i FSLogixAppsSetup.exe /quiet /norestart

# Реестровые ключи (обычно через GPO из ADMX-шаблона)
New-Item -Path "HKLM:\SOFTWARE\FSLogix\Profiles" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\FSLogix\Profiles" -Name "Enabled" -Value 1
Set-ItemProperty -Path "HKLM:\SOFTWARE\FSLogix\Profiles" -Name "VHDLocations" -Value "\\fs01\fslogix\profiles"
Set-ItemProperty -Path "HKLM:\SOFTWARE\FSLogix\Profiles" -Name "SizeInMBs" -Value 30720
Set-ItemProperty -Path "HKLM:\SOFTWARE\FSLogix\Profiles" -Name "VolumeType" -Value "VHDX"
Set-ItemProperty -Path "HKLM:\SOFTWARE\FSLogix\Profiles" -Name "FlipFlopProfileDirectoryName" -Value 1

Обязательное требование к шаре FSLogix — 200+ IOPS на активного пользователя. На S2D или быстром NAS держит 60+ юзеров спокойно.

Fair Share Scheduling

По умолчанию Windows Server делит CPU, диск и память между сессиями более-менее справедливо. Но «более-менее» — не всегда достаточно. Проверяем и при необходимости включаем:

# CPU fair share
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System" `
  -Name "EnableCpuQuota" -Value 1 -PropertyType DWord -Force

# Disk fair share
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk" `
  -Name "EnableFairShare" -Value 1 -PropertyType DWord -Force

# Memory
Set-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" `
  -Name "EnableDynamicMemory" -Value 1

Page file и своп

Системный своп на RDS — критичная вещь. Я всегда ставлю его фиксированного размера 1.5× RAM на отдельный VHDX или быстрый диск. Динамический swap на HDD = убитая отзывчивость у всей фермы. Для сервера с 64 ГБ RAM ставлю 96 ГБ pagefile.sys на SSD.

Мини-кейс: плотность с 28 до 46 пользователей

Сентябрь 2025. Клиент — бухгалтерская компания, RDS на Windows Server 2019, 16 vCPU, 64 ГБ RAM, SSD. Реальная плотность — 28 пользователей в 1С:ЗУП, с 30-й начинались тормоза. Бюджет на второй сервер клиент отказался выделять, попросил «попробовать оптимизацию».

За один рабочий день я прошёлся по плану:

  1. VDI Optimization Tool — 3,5% CPU и 500 МБ RAM сэкономил.
  2. Отключил Superfetch, WSearch, телеметрию, Xbox-сервисы.
  3. Перевёл профили с roaming на FSLogix на существующую шару.
  4. Настроил Fair Share для CPU и диска.
  5. Увеличил pagefile до 96 ГБ на NVMe.
  6. GPO с запретом анимаций, теней, высокого DPI-масштабирования.

После ребута плотность поднялась до стабильных 46 пользователей без тормозов. Серверное железо — Dell PowerEdge R750 в дата-центре МТС, Xeon Platinum 8280, 40G Mellanox до файл-шары. Счёт — 38 000 руб., экономия на втором сервере — 280 000 руб./год лицензий и железа.

Отключение визуальных излишеств

# Ultimate performance plan
powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
powercfg /setactive e9a42b02-d5df-448d-aa00-03f14749eb61

# Visual effects = best performance
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects" `
  -Name "VisualFXSetting" -Value 2

# Отключить прозрачности
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize" `
  -Name "EnableTransparency" -Value 0

Мониторинг нагрузки

Оптимизация — не единоразовое действие. Я всегда ставлю Zabbix или PRTG на терминальник и смотрю графики еженедельно. Ключевые триггеры:

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

Оптимизируем ваш терминальный сервер

Проведу полный аудит RDS, применю VDI-оптимизации, переведу профили на FSLogix, настрою мониторинг. Поднимаю плотность в 1.3–1.7 раза без потери отзыва. Срок — 1–2 дня на один сервер. Опыт 15+ лет с RDS, от Server 2003 до Server 2025.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы

Сколько пользователей выдержит терминальный сервер?
30–60 офисных на 8 vCPU/32 ГБ; 20–30 для 1С толстого клиента.
Что даёт VDI Optimization Tool?
Отключает лишние сервисы, телеметрию, эффекты — до 30% CPU и 15% RAM.
Нужен ли FSLogix?
Практически всегда да, roaming медленный, локальные — непереносимые.
Как ограничить ресурсы пользователя?
Fair Share Scheduling, NTFS-квоты, FSLogix size limits.
Что отключить в Windows Server?
Superfetch, WSearch, Xbox-сервисы, телеметрию, автообновления в рабочие часы.

Подпишитесь на рассылку ITfresh

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

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.