Udostępnianie zasobów w usługach pulpitu zdalnego systemu Windows Server 2012

Jedną z głównych wad architektury usług pulpitu zdalnego / usług terminalowych (RDS) jest potencjalny negatywny wpływ sesji jednego użytkownika, która przechwyciła dużą ilość zasobów obliczeniowych dla sesji innych użytkowników. Pierwszym krokiem do rozwiązania podobnego problemu była funkcja o nazwie Windows Server 2008 R2 Dynamiczne planowanie sprawiedliwego udziału (DFSS), który pozwala zrównoważyć i rozdzielić zasoby procesora między użytkowników. Ta proaktywna funkcja jest domyślnie aktywna, a moc procesora rozkładana jest dynamicznie w zależności od liczby obsługiwanych sesji użytkowników i dostępnych zasobów procesora. W systemie Windows Server 2012 możliwości alokacji zasobów zostały znacznie rozszerzone i dodano możliwość zarządzania zasobami sieci i podsystemu dyskowego.

System Windows Server 2012 RC RDS zapewnia następujące funkcje udostępniania zasobów:

  • Uczciwy udział w sieci. Dynamiczny przydział przepustowości kanału sieciowego między sesjami w zależności od liczby aktywnych sesji.
  • Dysk uczciwy udział. Zapobiega nadmiernemu korzystaniu z dysków przez jednego użytkownika, nawet dystrybucji dyskowego we / wy między sesjami.
  • CPU Sprawiedliwy udział. Dynamiczny rozkład czasu procesora między sesjami w zależności od liczby aktywnych sesji i ogólnego poziomu obciążenia (pamiętam, że funkcja pojawiła się w systemie Windows Server 2008 R2).

W Windows Server 2012 (obecnie RC), jak rozumiem, zarządzanie alokacją zasobów na serwerze RDS jest zminimalizowane: możesz tylko włączyć lub wyłączyć tę funkcję, system skonfiguruje resztę. Jeśli używasz Citrix XenApp, możesz wyłączyć wbudowaną funkcję alokacji zasobów Windows i całkowicie polegać na możliwościach XA.

Możesz włączyć lub wyłączyć możliwość alokacji zasobów za pomocą rejestru lub zasad grupy, ale w momencie wydania systemu Windows Server 2012 RC w zasadach grupy udało mi się znaleźć tylko element związany z kontrolą procesora - Turn wył Uczciwe Udostępnij CPU Planowanie (inne parametry prawdopodobnie pojawią się w ostatecznej wersji).

Ten sam parametr znajduje się w wartości parametru EnableCpuQuota (HKLM_SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Quota System).

Klucz służy do zarządzania zasobami dyskowymi. EnableFairShare w gałęzi HKLM_SYSTEM \ CurrentControlSet \ Services \ TSFairShare \ Disk (1 - włącz, 0 - wyłącz).

Ten model automatycznego przydzielania zasobów będzie działał dobrze, gdy 100% użytkowników uruchomi te same aplikacje i będzie działać zgodnie ze standardowymi schematami. Trudności mogą się rozpocząć, gdy konieczne jest nadanie priorytetu niektórym aplikacjom nad innymi. W tej sytuacji przydatna może być funkcja Windows System Resource Manager (WSRM), która po raz pierwszy pojawiła się w systemie Windows Server 2003. Za pomocą WSRM można szczegółowo zdefiniować limity zużycia zasobów dla konkretnego użytkownika, aplikacji, sesji lub całej puli aplikacji IIS. Należy jednak rozumieć, że WSRM jest narzędziem reaktywnym, tj. funkcja zaczyna działać po przekroczeniu wartości monitorowanego parametru.

Innym interesującym faktem jest to, że w Server 2012 RC funkcja WSRM jest oznaczona jako nieaktualna i nie będzie obsługiwana w przyszłych wersjach systemu operacyjnego Windows na serwerze i zaleca się jej odrzucenie. To, co ją zastąpi, nie jest jeszcze jasne.