Udostępnij za pośrednictwem


Wytyczne dotyczące określania rozmiaru maszyn wirtualnych dla hostów sesji w usłudze Azure Virtual Desktop i Remote Desktop Services

Ustalanie rozmiaru hosta sesji dla usług pulpitu wirtualnego platformy Azure i usług pulpitu zdalnego wymaga starannego rozważenia typów obciążeń i konfiguracji sprzętu. Różne typy obciążeń wymagają różnych konfiguracji sprzętowych, aby zapewnić optymalną wydajność.

Istnieją dwa typy hostów sesji, które należy wziąć pod uwagę podczas odpowiedniego określania ich rozmiaru dla użytkowników:

  • Pojedyncza sesja: dedykowana pojedynczemu użytkownikowi naraz.

  • Wiele sesji: współdzielona między wieloma użytkownikami jednocześnie.

W środowisku, w którym dostęp do pulpitów i aplikacji odbywa się zdalnie, wykonywanie i przetwarzanie danych odbywa się na hoście sesji, chyba że aplikacje obsługują lokalne odciążanie. Prawidłowe ustalanie rozmiaru zarówno każdego hosta sesji, jak i liczby hostów sesji jest ważne, więc nie zabraknie zasobów podczas szczytowych obciążeń, co w przeciwnym razie doprowadziłoby do zakłóceń dla użytkowników.

Hosty sesji mogą być uruchamiane na maszynach wirtualnych lub na sprzęcie fizycznym dla usług pulpitu zdalnego. Maszyny wirtualne mają pewne obciążenie, dlatego należy uwzględnić to podczas określania rozmiaru hostów sesji, które zostały omówione w tym artykule.

Przykłady w tym artykule są ogólnymi wytycznymi i należy ich używać tylko do początkowych szacunków wydajności. Aby uzyskać najlepsze możliwe środowisko, przeprowadź skalowanie wdrożenia w zależności od potrzeb użytkowników.

Planowanie zdolności produkcyjnych

Pojemność i zasoby, które należy zapewnić, różnią się od wszystkich, ponieważ zależy to od wielu czynników przyczyniających się. Planowanie wydajności to proces określania hostów sesji i ich zasobów niezbędnych do zaspokojenia oczekiwanych wymagań obciążenia. Obejmuje ona analizowanie bieżących i przyszłych potrzeb zasobów, szacowanie liczby użytkowników na hosta sesji oraz określanie odpowiednich rozmiarów w celu zapewnienia optymalnej wydajności.

Podczas planowania pojemności hostów sesji należy wziąć pod uwagę następujące obszary:

Obszar Opis
Obciążenie użytkownika Omówienie typów aplikacji i zadań wykonywanych przez użytkowników. Różne obciążenia mają różne wymagania dotyczące zasobów, takie jak procesor CPU, pamięć i magazyn.
Liczba użytkowników Oszacuj liczbę jednoczesnych użytkowników korzystających z hostów sesji. Pomaga to określić wymagane zasoby do obsługi oczekiwanego obciążenia użytkownika.
Wymagania dotyczące zasobów Przeanalizuj wymagania dotyczące zasobów aplikacji i zadań, które wykonują użytkownicy. Obejmuje to procesor CPU, pamięć, magazyn i przepustowość sieci.
Oczekiwania dotyczące wydajności Zdefiniuj oczekiwania dotyczące wydajności hostów sesji, takie jak czas odpowiedzi, czas logowania, czas uruchamiania aplikacji i ogólne środowisko użytkownika. Rozważ wydajność logowania dla kluczowych czasów, takich jak początek dnia roboczego lub zmiana, ponieważ może to mieć wpływ na wydajność w porównaniu ze stałym stanem.
Skalowalność Rozważ możliwość skalowania hostów sesji w miarę wzrostu zapotrzebowania użytkownika. Może to obejmować dodanie większej liczby hostów sesji lub zmianę rozmiaru istniejących w celu uwzględnienia dodatkowych użytkowników lub obciążeń.
Odporność i nadmiarowość Rozważ zaimplementowanie mechanizmów nadmiarowości i trybu failover, aby zapewnić wysoką dostępność i zminimalizować przestoje w przypadku awarii sprzętu lub oprogramowania.
Monitorowanie i optymalizacja Zaimplementuj narzędzia do monitorowania, aby śledzić wykorzystanie zasobów i metryki wydajności. Użyj tych danych, aby zoptymalizować hosty sesji i wprowadzić bieżące korekty w miarę potrzeb.

Następujące dwa podejścia są często używane do określania pojemności hostów sesji:

  • Podejście pilotażowe: wdrażanie pojedynczego serwera testowego i stopniowe zwiększanie obciążenia podczas monitorowania opinii użytkowników i wskaźników wydajności systemu, takich jak procesor CPU, stronicowanie, dysk i sieć. Takie podejście jest niezawodne w przypadku mniejszych wdrożeń, ale może wymagać początkowych inwestycji sprzętowych, które mogą nie spełniać celów wdrożenia końcowego.

  • Podejście do symulacji: użyj narzędzi automatyzacji, aby wygenerować symulowane obciążenia użytkowników, które naśladują rzeczywiste zachowanie użytkownika. Zazwyczaj symulacja obejmuje stopniowe zwiększanie liczby symulowanych użytkowników w czasie, a metryki wydajności są zbierane w całym teście. Analiza pomaga zidentyfikować punkt, w którym wydajność spada poza akceptowalne progi. Takie podejście jest bardziej odpowiednie w przypadku większych wdrożeń, w których dokładne określenie pojemności znacząco wpływa na decyzje zakupowe.

Pilotaż zwykle jest bardziej czasochłonny i ekonomiczny w przypadku mniejszych wdrożeń, podczas gdy podejście symulacji może być bardziej odpowiednie w przypadku większych wdrożeń, w których dokładne określenie pojemności hosta sesji może znacząco wpłynąć na decyzje zakupowe.

Niezależnie od używanego podejścia należy również wziąć pod uwagę kluczowe czasy logowania użytkownika, takie jak początek dnia roboczego lub zmiany, co może mieć wpływ na wydajność w porównaniu ze stałym stanem i powodować długie czasy logowania. Host sesji może być w stanie obsługiwać wystarczającą liczbę użytkowników w określonym scenariuszu, ale może nie mieć pojemności do obsługi wszystkich użytkowników logujących się jednocześnie. Zaplanuj również margines bezpieczeństwa na wypadek nieoczekiwanych wzrostów aktywności użytkowników lub zapotrzebowania na zasoby.

Zalecamy udokumentowanie procesu planowania pojemności, w tym założeń, obliczeń i decyzji. Przekaż plan uczestnikom projektu, aby zapewnić dostosowanie i zrozumienie.

Kluczowe czynniki wpływające na pojemność i wydajność

Istnieje kilka kluczowych czynników wpływających na pojemność hostów sesji. Zrozumienie tych czynników może pomóc w podejmowaniu świadomych decyzji dotyczących określania rozmiaru i skalowania hostów sesji.

  • Skalowanie CPU.

    • Liczba rdzeni CPU ma bezpośredni wpływ na liczbę użytkowników, którzy mogą być obsłużeni przez maszynę wirtualną hosta sesji.
    • Podwojenie liczby rdzeni CPU nie musi podwoić wydajności użytkowników ze względu na malejące korzyści i obciążenie związane z synchronizacją. Współczynnik skalowania jest wyższy, gdy początkowa liczba procesorów CPU jest mała i zmniejsza się wraz ze wzrostem liczby rdzeni. Na przykład współczynnik skalowania przechodzący z 4 rdzeni do 8 rdzeni jest większy niż ten, który przechodzi z 8 rdzeni do 16 rdzeni.
    • Współczynnik skalowania zwykle mieści się w zakresie od 1,5 do 1,9, co oznacza, że dla każdego dodatkowego rdzenia można oczekiwać proporcjonalnego wzrostu pojemności użytkownika, ale nie liniowego.
  • Wpływ pamięci:

    • Ilość pamięci przydzielonej do VM hostującej sesję bezpośrednio wpływa na liczbę użytkowników, których może obsługiwać.
    • Gdy pamięć jest czynnikiem ograniczającym, dodanie większej ilości pamięci w mniejszych pojemnościach może znacznie zwiększyć wydajność. Na przykład zwiększenie ilości pamięci z 8 GB do 16 GB może więcej niż podwoić liczbę użytkowników, których można obsługiwać.
  • Wpływ logowania użytkownika:

    • Logowanie użytkownika jest operacją intensywnie korzystającą z procesora CPU, a wysokie współbieżne współczynniki logowania mogą znacząco wpłynąć na wydajność systemu.
    • Zaplanuj oczekiwane wzorce logowania, takie jak początek dnia roboczego o 9:00, gdzie wielu użytkowników loguje się jednocześnie. W przeciwnym razie użytkownicy mogą mieć rozszerzone czasy logowania.
  • Obciążenie związane z wirtualizacją

    • Uruchamianie na maszynach wirtualnych może wiązać się z kosztem 15-20% pojemności w porównaniu z uruchamianiem na sprzęcie fizycznym, na podstawie testów wewnętrznych.
    • Hypervisor wprowadza większe opóźnienia i obciążenie CPU, co może spowodować, że czas odpowiedzi użytkownika jest o 10% do 20% wyższy niż na sprzęcie fizycznym.
  • Korzyści z hiper-wielowątkowości

    • Funkcja Hyperthreading może zwiększyć pojemność użytkownika, umożliwiając równoczesne uruchamianie większej liczby wątków na każdym rdzeniu, co zwiększa wydajność korzystania z zasobów procesora.
    • Zalety hiperwątku różnią się w zależności od obciążenia i liczby rdzeni. Obciążenia, które są mniej intensywnie obciążające procesor CPU, mogą korzystać z dodatkowych funkcji przetwarzania równoległego i osiągać lepszą wydajność dzięki hiperwątku.
  • Wydajność sieci

    • Opóźnienie sieci, utrata pakietów i zakłócenia mogą mieć wpływ na środowisko użytkownika, zwłaszcza w przypadku aplikacji wymagających częstej komunikacji z serwerami zdalnymi lub bazami danych. Każda kombinacja dużych opóźnień, utraty pakietów i zakłócenia może prowadzić do wolniejszych czasów odpowiedzi i obniżonej wydajności.
    • Niższe RTT sieci, utrata pakietów i zakłócenia prowadzą do szybszego czasu odpowiedzi i lepszej ogólnej wydajności. Rozważ użycie połączeń sieciowych o małych opóźnieniach, aby zminimalizować wpływ wydajności sieci na środowisko użytkownika.
  • Wydajność magazynu

    • Wydajność pamięci masowej może mieć wpływ na doświadczenie użytkownika, szczególnie w przypadku aplikacji wymagających częstego dostępu do dysku.
    • Korzystaj z rozwiązań magazynu o wysokiej wydajności, takich jak dyski SSD lub NVMe, aby zapewnić szybki dostęp do danych i zminimalizować opóźnienia.
  • Wymagania dotyczące procesora graficznego (GPU)

    • Niektóre obciążenia, takie jak aplikacje intensywnie korzystające z grafiki na potrzeby renderowania wideo, projektowania 3D i symulacji lub pulpitów wirtualnych z wyświetlaczami o wysokiej rozdzielczości, mogą wymagać dedykowanych procesorów GPU w celu zapewnienia optymalnej wydajności.
    • Rozważ użycie hostów sesji z funkcjami procesora GPU, jeśli użytkownicy uruchamiają aplikacje intensywnie korzystające z grafiki lub wymagają wyświetlaczy o wysokiej rozdzielczości.

Wszystkie te czynniki mogą mieć wpływ na ogólną wydajność i pojemność hostów sesji. Pomiar opóźnienia wejściowego użytkownika lub czasu odpowiedzi sesji end-to-end jest kluczową metryką do rozważenia podczas oceniania wydajności użytkowników. Ta metryka mierzy czas przetwarzania i odzwierciedlenia danych wejściowych użytkownika w sesji, zapewniając dokładniejszą reprezentację środowiska użytkownika. Użytkownicy zazwyczaj oczekują czasu odpowiedzi krótszego niż 200 milisekund dla swoich akcji, a wszelkie opóźnienia wykraczające poza to mogą prowadzić do obniżonej wydajności środowiska użytkownika. Aby uzyskać więcej informacji na temat mierzenia środowiska użytkownika, zobacz Używanie liczników wydajności do diagnozowania problemów z wydajnością aplikacji na hostach sesji usług pulpitu zdalnego.

Workloads

Podczas określania rozmiaru hostów sesji należy wziąć pod uwagę typ obciążenia, które użytkownicy uruchamiają, ponieważ mogą one znacznie się różnić. Na przykład pracownicy zajmujący się lekkim wprowadzaniem danych mają niskie wykorzystanie zasobów, co doprowadziłoby do dużej gęstości użytkowników. Jednak eksperci korzystający z dużych aplikacji 3D zużywają wyższe zasoby, co doprowadziłoby do niskiej gęstości użytkowników przy użyciu tego samego sprzętu.

Oto przykład, który kategoryzuje obciążenia na cztery typy: lekki, średni, ciężki i power. Każdy typ obciążenia ma inne wymagania dotyczące zasobów i oczekiwania użytkownika.

W poniższej tabeli opisano każde obciążenie. Przykładowi użytkownicy to typy użytkowników, które mogą znajdować każde obciążenie najbardziej przydatne. Przykładowe aplikacje to rodzaje aplikacji, które działają najlepiej dla każdego obciążenia.

Typ obciążenia Przykładowi użytkownicy Przykładowe aplikacje
Light Użytkownicy wykonujący podstawowe zadania wprowadzania danych Aplikacje wprowadzania bazy danych, interfejsy wiersza polecenia
Średni Konsultantów i badaczy rynku Aplikacje do wprowadzania bazy danych, interfejsy wiersza polecenia, Microsoft Word, statyczne strony internetowe
Heavy Inżynierowie oprogramowania, twórcy zawartości Aplikacje do wprowadzania bazy danych, interfejsy wiersza polecenia, Microsoft Word, statyczne strony internetowe, Microsoft Outlook, Microsoft PowerPoint, dynamiczne strony internetowe, programowanie oprogramowania
Power Projektanci grafiki, twórcy modeli 3D, naukowcy zajmujący się uczeniem maszynowym Aplikacje do wprowadzania bazy danych, interfejsy wiersza polecenia, Microsoft Word, statyczne strony internetowe, Microsoft Outlook, Microsoft PowerPoint, dynamiczne strony internetowe, edytowanie zdjęć i wideo, projektowanie wspomagane komputerowo (CAD), produkcja wspomagana komputerowo (CAM)

Zalecenia dotyczące ustalania rozmiaru hosta dla pojedynczej sesji

W scenariuszu z jedną sesją tylko jeden użytkownik jest zalogowany do hosta sesji w dowolnym momencie. Jeśli na przykład używasz osobistych pul hostów w usłudze Azure Virtual Desktop, używasz scenariusza z jedną sesją.

Te zalecenia dotyczące rozmiarów scenariuszy z jedną sesją są oparte na maszynach wirtualnych platformy Azure. Te dane można również użyć jako punktu odniesienia dla hostów sesji fizycznych, rozważ podejście planowania pojemności w celu uściślinia tych zaleceń dla obciążeń.

Zalecamy użycie co najmniej dwóch fizycznych rdzeni procesora na maszynę wirtualną, zazwyczaj czterech vCPU z hiperwątkowością. Jeśli potrzebujesz bardziej szczegółowych zaleceń dotyczących określania rozmiaru maszyn wirtualnych dla scenariuszy z jedną sesją, zapytaj dostawców oprogramowania specyficznych dla obciążenia. Rozmiar maszyn wirtualnych dla hostów sesji pojedynczej zwykle jest zgodny z wytycznymi dotyczącymi urządzeń fizycznych.

W poniższej tabeli przedstawiono przykłady typowych obciążeń:

Typ obciążenia Minimalne wymagania dotyczące zasobów: vCPU/pamięci RAM/miejsca na system operacyjny Przykładowe wystąpienia platformy Azure Minimalna wymagana pojemność magazynu kontenera profilu
Light 2 procesory wirtualne, 8 GB pamięci RAM, magazyn 32 GB D2s_v5, D2s_v4 30 GB
Średni 4 procesory wirtualne, 16 GB pamięci RAM, magazyn 32 GB D4s_v5, D4s_v4 30 GB
Heavy 8 procesorów wirtualnych, 32 GB pamięci RAM, 32 GB miejsca do magazynowania D8s_v5, D8s_v4 30 GB

Zalecenia dotyczące określania rozmiaru hosta sesji wielosesyjnej

W scenariuszu z wieloma sesjami więcej niż jeden użytkownik jest zalogowany do maszyny wirtualnej hosta sesji w danym momencie. Na przykład, gdy korzystasz z pul współdzielonych hostów w usłudze Azure Virtual Desktop z systemu operacyjnego Windows 11 Enterprise w wersji wielosesyjnej, jest to wdrożenie wielosesyjne.

Środowisko obliczeniowe z wieloma sesjami ma znacznie większe obciążenia szczytowe w porównaniu do środowisk jednosesyjnej. Host sesji z określoną pojemnością sprzętową ma maksymalny limit obciążenia, który może obsługiwać przed wyczerpaniem zasobów.

Te zalecenia dotyczące rozmiarów scenariuszy obejmujących wiele sesji są oparte na maszynach wirtualnych platformy Azure. Te dane można również użyć jako punktu odniesienia dla hostów sesji fizycznych, rozważ podejście planowania pojemności w celu uściślinia tych zaleceń dla obciążeń.

W poniższej tabeli wymieniono maksymalną sugerowaną liczbę użytkowników na jednostkę wirtualnego centralnego przetwarzania (vCPU) oraz minimalną konfigurację maszyny wirtualnej dla standardowego lub większego obciążenia użytkownika. Jeśli potrzebujesz bardziej szczegółowych zaleceń dotyczących określania rozmiaru maszyn wirtualnych dla scenariuszy z jedną sesją, zapytaj dostawców oprogramowania specyficznych dla obciążenia.

Typ obciążenia Maksymalna liczba użytkowników na procesor wirtualny Minimalna liczba vCPU/pamięci RAM/miejsca na system operacyjny Przykładowe wystąpienia platformy Azure Minimalne przechowywanie profili
Light 6 8 procesorów wirtualnych, 16 GB pamięci RAM, 32 GB miejsca do magazynowania D8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v4 30 GB
Średni 4 8 procesorów wirtualnych, 16 GB pamięci RAM, 32 GB miejsca do magazynowania D8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v4 30 GB
Heavy 2 8 procesorów wirtualnych, 16 GB pamięci RAM, 32 GB miejsca do magazynowania D8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v4 30 GB
Power 1 6 procesorów wirtualnych, 56 GB pamięci RAM, magazyn 340 GB D16ds_v5, D16s_v4, D16as_v4, NV6, NV16as_v4 30 GB

W przypadku obciążeń obejmujących wiele sesji należy ograniczyć rozmiar maszyny wirtualnej do 4 procesorów wirtualnych i 24 procesorów wirtualnych z następujących powodów:

  • Wszystkie maszyny wirtualne powinny mieć więcej niż dwa rdzenie. Składniki interfejsu użytkownika w systemie Windows polegają na użyciu co najmniej dwóch równoległych wątków dla niektórych cięższych operacji renderowania. W przypadku scenariuszy obejmujących wiele sesji posiadanie wielu użytkowników na dwurdzeniowej maszynie wirtualnej prowadzi do niestabilnego interfejsu użytkownika i aplikacji, co obniża jakość środowiska użytkownika. Cztery rdzenie to najniższa zalecana liczba rdzeni, które powinna mieć stabilna maszyna wirtualna z wieloma sesjami.

  • Maszyny wirtualne nie powinny mieć więcej niż 32 rdzeni. Wraz ze wzrostem liczby rdzeni zwiększa się również obciążenie związane z synchronizacją systemu. W przypadku większości obciążeń, przy około 16 rdzeniach, zwrot z inwestycji staje się niższy, ponieważ większość dodatkowej pojemności jest zrównoważona przez narzut związany z synchronizacją. Środowisko użytkownika jest lepsze dzięki dwóm 16-rdzeniowym maszynom wirtualnym zamiast jednej 32-rdzeniowej maszyny wirtualnej.

Zalecany zakres od 4 do 24 rdzeni zwykle zapewnia użytkownikom lepsze zwroty pojemności w miarę zwiększania liczby rdzeni. Jeśli na przykład masz 12 użytkowników logujących się jednocześnie do maszyny wirtualnej, która ma cztery rdzenie, stosunek to trzech użytkowników na rdzeń. Na maszynie wirtualnej z 8 rdzeniami i 14 użytkownikami stosunek wynosi 1,75 użytkowników na rdzeń. W tym scenariuszu druga konfiguracja z współczynnikiem 1,75 oferuje większą zdolność do obsługi chwilowego obciążenia dla aplikacji, które krótkoterminowo wymagają dużej mocy obliczeniowej.

To zalecenie jest prawdziwe na większą skalę. W przypadku scenariuszy z co najmniej 20 użytkownikami połączonymi z pojedynczą maszyną wirtualną kilka mniejszych maszyn wirtualnych będzie działać lepiej niż jedna lub dwie duże maszyny wirtualne. Jeśli na przykład spodziewasz się, że 30 lub więcej użytkowników zaloguje się w odstępie 10 minut od siebie na tym samym hoście sesji wyposażonym w 16 rdzeni, dwie 8-rdzeniowe maszyny wirtualne zapewnią lepszą obsługę obciążenia. Można również użyć równoważenia obciążenia wszerz, aby równomiernie rozmieszczać użytkowników na różnych maszynach wirtualnych, zamiast równoważenia obciążenia w głąb, gdzie można użyć nowego serwera sesji dopiero wtedy, gdy istniejący jest pełen użytkowników.

Lepiej jest również użyć dużej liczby mniejszych maszyn wirtualnych zamiast kilku dużych maszyn wirtualnych. Łatwiej jest zamknąć maszyny wirtualne, które muszą zostać zaktualizowane lub nie są obecnie używane. W przypadku większych maszyn wirtualnych istnieje większe prawdopodobieństwo, że co najmniej jeden użytkownik zalogował się w danym momencie, co uniemożliwia zamknięcie maszyny wirtualnej. Jeśli masz wiele mniejszych maszyn wirtualnych, prawdopodobnie masz niektóre maszyny wirtualne bez aktywnych użytkowników. Możesz bezpiecznie zamknąć te nieużywane maszyny wirtualne, aby oszczędzać zasoby ręcznie lub automatycznie przy użyciu autoskalowania w usłudze Azure Virtual Desktop. Oszczędzanie zasobów sprawia, że wdrożenie jest bardziej odporne, łatwiejsze do utrzymania i tańsze.