Един от основните недостатъци на архитектурата на услугите за отдалечен работен плот / терминални услуги (RDS) е потенциалът за отрицателното въздействие на една потребителска сесия, която е обхванала голямо количество изчислителни ресурси в сесиите на други потребители. Като първа стъпка при справяне с подобен проблем се появи функция, наречена Windows Server 2008 R2 Динамично планиране на справедливи дялове (DFSS), която ви позволява да балансирате и разпределите ресурсите на процесора между потребителите. Тази проактивна функция е активна по подразбиране и мощността на процесора се разпределя динамично в зависимост от това колко потребителски сесии се обслужват в момента и колко CPU ресурси са на разположение. В Windows Server 2012 възможностите за разпределяне на ресурси са значително разширени и е добавена способността за управление на мрежови и дискови подсистеми.
RC RDS на Windows Server 2012 предоставя следните функции за споделяне на ресурси:
- Справедлив дял в мрежата. Динамично разпределение на честотната лента на мрежовия канал между сесиите в зависимост от броя на активните сесии.
- Диск справедлив дял. Предотвратява прекомерната употреба на дискове от един потребител, равномерното разпределение на дискови входове / изходи между сесиите.
- Справедлив дял на процесора. Динамично разпределение на времето на процесора между сесиите в зависимост от броя на активните сесии и общото ниво на натоварване (припомням, че функцията се появи в Windows Server 2008 R2).
В Windows Server 2012 (RC в момента), както го разбирам, управлението на разпределението на ресурсите на RDS сървъра е сведено до минимум: можете да активирате или деактивирате тази функция, системата ще конфигурира останалото. Ако използвате Citrix XenApp, можете да деактивирате вградената функция за разпределение на ресурси на Windows и да разчитате изцяло на XA възможностите.
Можете да активирате или деактивирате възможността да разпределяте ресурси с помощта на системния регистър или груповата политика, но в момента на излизането на Windows Server 2012 RC, в групови политики, успях да намеря само елемента, свързан с контрола на процесора - Превърнете от справедлив дял CPU Scheduling (други параметри вероятно ще се появят в окончателното издание).
Същият параметър е в стойността на параметъра EnableCpuQuota (HKLM_SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Quota System).
Ключът се използва за управление на дисковите ресурси. EnableFairShare в клона HKLM_SYSTEM \ CurrentControlSet \ Services \ TSFairShare \ Disk (1 - разрешаване, 0 - деактивиране).
Този модел на автоматично разпределение на ресурсите ще работи добре, когато 100% от потребителите стартират едни и същи приложения и работят по стандартни схеми. Трудностите могат да започнат, когато е необходимо да се даде приоритет на някои приложения пред други. В тази ситуация може да бъде полезна функцията на Windows System Resource Manager (WSRM), която се появи за първи път в Windows Server 2003. Използвайки WSRM, можете да дефинирате подробно ограниченията за потребление на ресурси за конкретен потребител, приложение, сесия или цял пул от приложения на IIS. Трябва обаче да се разбере, че WSRM е реактивен инструмент, т.е. функцията започва да работи след превишаване на стойността на наблюдавания параметър.
Друг интересен факт е, че в Server 2012 RC функцията WSRM е маркирана като остаряла и няма да бъде поддържана в бъдещи версии на сървърна Windows OS и се препоръчва да я откажете. Какво ще дойде да я замести също не е ясно.