Planowanie wydajności dla ról serwera usługi App Service w usłudze Azure Stack Hub
Aby skonfigurować gotowe do produkcji wdrożenie Azure App Service w usłudze Azure Stack Hub, musisz zaplanować pojemność, którą oczekujesz od systemu.
Ten artykuł zawiera wskazówki dotyczące minimalnej liczby wystąpień obliczeniowych i jednostek SKU obliczeniowych, których należy użyć w przypadku dowolnego wdrożenia produkcyjnego.
Uwaga
Wskazówki dotyczące zalecanej jednostki SKU obliczeniowej dla ról zostały zaktualizowane w wersji 2020.Q2 Azure App Service w usłudze Azure Stack Hub, aby zapewnić standardowe wdrożenia zgodne z wdrożeniami platformy Azure.
Możesz zaplanować strategię wydajności App Service, korzystając z tych wytycznych.
rola serwera App Service | Minimalna zalecana liczba wystąpień | Zalecana jednostka SKU obliczeniowa |
---|---|---|
Kontroler | 2 | A4v2 |
Frontonu | 2 | A4_v2 |
Zarządzanie | 2 | D3_v2 |
Publisher | 2 | A2_v2 |
Procesy robocze sieci Web — udostępnione | 2 | A4_v2 |
Procesy robocze sieci Web — dedykowane — małe | 2 na warstwę | A1_v2 |
Procesy robocze sieci Web — dedykowane — średnie | 2 na warstwę | A2_v2 |
Procesy robocze sieci Web — dedykowane — duże | 2 na warstwę | A4_v2 |
Rola kontrolera
Zalecane minimum: dwa wystąpienia A4v2
Kontroler Azure App Service zwykle ma niskie zużycie procesora CPU, pamięci i zasobów sieciowych. Jednak w przypadku wysokiej dostępności musisz mieć dwa kontrolery. Dwa kontrolery są również maksymalną liczbą dozwolonych kontrolerów. Drugi kontroler witryn sieci Web można utworzyć bezpośrednio z instalatora podczas wdrażania.
Rola frontonu
Zalecane minimum: dwa wystąpienia A4v_2
Fronton kieruje żądania do procesów roboczych sieci Web w zależności od dostępności procesu roboczego sieci Web. W przypadku wysokiej dostępności należy mieć więcej niż jeden fronton i mieć więcej niż dwa. W celach związanych z planowaniem pojemności należy wziąć pod uwagę, że każdy rdzeń może obsługiwać około 100 żądań na sekundę.
Rola zarządzania
Zalecane minimum: dwa wystąpienia D3v2
Rola klasycznego modelu wdrażania aplikacja systemu Azure odpowiada za punkty końcowe App Service azure Resource Manager i interfejsu API, rozszerzenia portalu (administrator, dzierżawa, portal usługi Functions) i usługę danych. Rola serwera zarządzania zwykle wymaga tylko około 4 GB pamięci RAM w środowisku produkcyjnym. Jednak może wystąpić wysoki poziom procesora CPU, gdy jest wykonywanych wiele zadań zarządzania (takich jak tworzenie witryny internetowej). Aby zapewnić wysoką dostępność, musisz mieć przypisany do tej roli więcej niż jeden serwer i co najmniej dwa rdzenie na serwer.
Rola wydawcy
Zalecane minimum: dwa wystąpienia A2v2
Jeśli wielu użytkowników publikuje jednocześnie, rola wydawcy może mieć duże użycie procesora CPU. Aby zapewnić wysoką dostępność, upewnij się, że jest dostępna więcej niż jedna rola wydawcy. Wydawca obsługuje tylko ruch FTP/FTPS.
Rola internetowego procesu roboczego
Zalecane minimum: dwa wystąpienia A4_v2
W przypadku wysokiej dostępności należy mieć co najmniej cztery role procesu roboczego sieci Web: dwie dla trybu udostępnionej witryny sieci Web i dwie dla każdej dedykowanej warstwy procesu roboczego, którą planujesz zaoferować. Udostępnione i dedykowane tryby obliczeniowe zapewniają różne poziomy usługi dzierżawcom. W przypadku wielu klientów może być potrzebnych więcej procesów roboczych sieci Web:
- Korzystanie z dedykowanych warstw procesu roboczego trybu obliczeniowego (które są intensywnie korzystające z zasobów).
- Działa w trybie współużytkowanego środowiska obliczeniowego.
Po utworzeniu przez użytkownika planu App Service dla dedykowanej jednostki SKU trybu obliczeniowego liczba procesów roboczych sieci Web określonych w tym planie App Service nie jest już dostępna dla użytkowników.
Aby zapewnić Azure Functions użytkownikom w modelu planu zużycia, należy wdrożyć udostępnione procesy robocze sieci Web.
Podczas podejmowania decyzji o liczbie ról współużytkowanego procesu roboczego sieci Web, zapoznaj się z następującymi zagadnieniami:
Pamięć: pamięć jest najbardziej krytycznym zasobem dla roli procesu roboczego sieci Web. Niewystarczająca ilość pamięci wpływa na wydajność witryny sieci Web, gdy pamięć wirtualna zostanie zamieniona z dysku. Każdy serwer wymaga około 1,2 GB pamięci RAM dla systemu operacyjnego. Pamięć RAM powyżej tego progu może służyć do uruchamiania witryn internetowych.
Procent aktywnych witryn internetowych: zazwyczaj około 5 procent aplikacji w Azure App Service we wdrożeniu usługi Azure Stack Hub są aktywne. Jednak procent aplikacji, które są aktywne w danym momencie, może być wyższy lub niższy. W przypadku aktywnej liczby aplikacji wynoszącej 5 procent maksymalna liczba aplikacji do umieszczenia w Azure App Service we wdrożeniu usługi Azure Stack Hub powinna być mniejsza niż 20 razy większa niż liczba aktywnych witryn internetowych (5 x 20 = 100).
Średni rozmiar pamięci: średni ślad pamięci dla aplikacji obserwowanych w środowiskach produkcyjnych wynosi około 70 MB. Przy użyciu tego śladu pamięć przydzielona na wszystkich komputerach roli procesu roboczego sieci Web lub maszynach wirtualnych jest obliczana w następujący sposób:
Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)
Jeśli na przykład istnieje 5000 aplikacji w środowisku z 10 rolami procesu roboczego sieci Web, każda maszyna wirtualna roli procesu roboczego sieci Web powinna mieć 7060 MB pamięci RAM:
5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)
Aby uzyskać informacje na temat dodawania kolejnych wystąpień procesu roboczego, zobacz Dodawanie większej liczby ról procesów roboczych.
Dodatkowe zagadnienia dotyczące dedykowanych procesów roboczych podczas uaktualniania i konserwacji
Podczas uaktualniania i konserwacji procesów roboczych Azure App Service w usłudze Azure Stack Hub wykona konserwację w 20% każdej warstwy procesu roboczego w dowolnym momencie. W związku z tym administratorzy chmury muszą zawsze utrzymywać pulę nieprzydzielonych procesów roboczych na warstwę procesu roboczego w celu zapewnienia, że ich dzierżawcy nie tracą usługi podczas uaktualniania i konserwacji. Jeśli na przykład masz 10 pracowników w warstwie procesu roboczego, upewnij się, że 2 są nieprzydzielone, aby umożliwić uaktualnianie i konserwację. Jeśli przydzielono pełne 10 procesów roboczych, należy skalować warstwę procesu roboczego w górę, aby zachować pulę nieprzydzielonych procesów roboczych.
Podczas uaktualniania i konserwacji Azure App Service przeniesie obciążenia do nieprzydzielonych procesów roboczych w celu zapewnienia, że obciążenia będą nadal działać. Jeśli jednak podczas uaktualniania nie ma żadnych nieprzydzielonych procesów roboczych, może wystąpić potencjalny przestój obciążenia dzierżawcy. W odniesieniu do udostępnionych pracowników klienci nie muszą aprowizować dodatkowych pracowników, ponieważ usługa automatycznie przydziela aplikacje dzierżawy w ramach dostępnych procesów roboczych. W przypadku wysokiej dostępności w tej warstwie istnieje minimalne wymaganie dwóch procesów roboczych.
Administratorzy chmury mogą monitorować alokację warstwy procesu roboczego w obszarze administratora App Service w portalu administratora usługi Azure Stack Hub. Przejdź do App Service, a następnie wybierz pozycję Warstwy procesów roboczych w okienku po lewej stronie. Tabela Warstwy procesów roboczych zawiera nazwę warstwy procesu roboczego, rozmiar, używany obraz, liczbę dostępnych procesów roboczych (nieprzydzielonych), łączną liczbę procesów roboczych w każdej warstwie oraz ogólny stan warstwy procesu roboczego.
Rola serwera plików
W przypadku roli serwera plików można użyć autonomicznego serwera plików do programowania i testowania. Na przykład podczas wdrażania Azure App Service w zestawie Azure Stack Development Kit (ASDK) można użyć tego szablonu. W celach produkcyjnych należy użyć wstępnie skonfigurowanego serwera plików systemu Windows lub wstępnie skonfigurowanego serwera plików innego niż Windows.
W środowiskach produkcyjnych rola serwera plików intensywnie używa operacji we/wy dysku. Ponieważ zawiera wszystkie pliki zawartości i aplikacji dla witryn sieci Web użytkownika, należy wstępnie skonfigurować jeden z następujących zasobów dla tej roli:
- Serwer plików systemu Windows
- Klaster serwera plików systemu Windows
- Serwer plików innych niż Windows
- Klaster serwerów plików innych niż Windows
- Urządzenie NAS (magazyn dołączony do sieci)
Aby uzyskać więcej informacji, zobacz Aprowizuj serwer plików.
Następne kroki
Wymagania wstępne dotyczące wdrażania usługi App Service w usłudze Azure Stack Hub