Справедливое распределение ресурсов Windows Server RDS с помощью Fair Share Scheduling

Категория: программы

Одной из ключевых задач терминальных серверов является обеспечение справедливого распределения ресурсов среди множества пользователей. Порой, ресурсоемкие процессы одного пользователя способны значительно замедлить работу других. Например, когда один пользователь использует 90% ресурсов процессора, остальные сталкиваются с заметными задержками.

Dynamic Fair Share Scheduling (DFSS)

Для решения этой проблемы в Windows Server с ролью Remote Desktop Services (RDS) доступна Dynamic Fair Share Scheduling (DFSS). Эта функция динамично распределяет вычислительные ресурсы между сессиями пользователей, обрабатывая следующие ресурсы:

  • CPU Fair Share - отвечает за справедливое распределение времени процессора.
  • Disk Fair Share - управляет пропускной способностью дисковой подсистемы.
  • Network Fair Share - распределяет сетевую пропускную способность по принципу round-robin.

Стоит отметить, что DFSS не регулирует использование оперативной памяти (RAM).

Настройка Fair Share Scheduling

DFSS доступна, начиная с Windows Server 2008 R2, но полноценное распределение ресурсов стало возможным только с Windows Server 2012. Для активации функции в Windows Server 2016 и выше необходимо установить роль RDSH. По умолчанию активируется распределение CPU.

Чтобы проверить, включено ли DFSS, выполните команду PowerShell:

powershell

Копировать код
(gwmi win32_terminalservicesetting -N "root\cimv2\terminalservices").enabledfss

Также для управления DFSS существует параметр групповой политики Turn off Fair Share CPU Scheduling, хотя он по умолчанию отключен.

Проверка и активация

Используйте следующие команды для проверки и изменения параметров:

  • Для проверки CPu Fair Share:
powershell

Копировать код
Get-Itemproperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System\" -name EnableCpuQuota
  • Общее получение параметров:
powershell

Копировать код
Get-WmiObject -Class win32_terminalservicesetting -Namespace root\cimv2\terminalservices | FL EnableDFSS,EnableDiskFSS,EnableNetworkFSS

Чтобы включить Fair Share, измените значения реестра на 1:

powershell

Копировать код
$temp = (gwmi win32_terminalservicesetting -N "root\cimv2\terminalservices")
$temp.enableDFSS = 1
$temp.put()

# Для диска:
$temp.enableDiskFSS = 1
$temp.put()

# Для сети:
$temp.enableNetworkFSS = 1
$temp.put()

Влияние на производительность

Следует помнить, что в некоторых ситуациях использование DFSS может негативно сказаться на работе приложений, например, на терминальных серверах с 1С. В таких случаях рекомендуется отключать Dynamic Fair Share Scheduling для улучшения производительности.

Таким образом, правильная настройка DFSS может существенно повысить эффективность работы терминальных серверов и обеспечить более комфортные условия для всех пользователей.





 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *



Карта сайта
Copyright © 2025  
Clicky