Planowanie wydajności dla ról serwera usługi App Service w usłudze Azure Stack HubCapacity planning for App Service server roles in Azure Stack Hub

Aby skonfigurować wdrożenie gotowe do użycia w środowisku produkcyjnym Azure App Service w centrum Azure Stack, należy zaplanować pojemność oczekiwaną przez system.To set up a production-ready deployment of Azure App Service on Azure Stack Hub, you must plan for the capacity you expect the system to support.

Ten artykuł zawiera wskazówki dotyczące minimalnej liczby wystąpień obliczeniowych i jednostek SKU obliczeń, których należy użyć w przypadku każdego wdrożenia produkcyjnego.This article provides guidance for the minimum number of compute instances and compute SKUs you should use for any production deployment.

Uwaga

Wskazówki dotyczące zalecanej jednostki SKU obliczeń dla ról zostały zaktualizowane przy użyciu wersji 2020. Q2 Azure App Service w usłudze Azure Stack Hub, aby zapewnić standardowe wdrożenia zgodnie z wdrożeniami platformy Azure.The guidance on recommended compute SKU for roles was updated with the 2020.Q2 release of Azure App Service on Azure Stack Hub to bring standard deployments in line with Azure deployments.

Strategię App Service pojemności można zaplanować przy użyciu tych wytycznych.You can plan your App Service capacity strategy using these guidelines.

Rola serwera App ServiceApp Service server role Minimalna zalecana liczba wystąpieńMinimum recommended number of instances Zalecana jednostka SKU obliczeńRecommended compute SKU
KontrolerController 22 A4v2A4v2
FrontonFront End 22 A4_v2A4_v2
ZarządzanieManagement 22 D3_v2D3_v2
PublisherPublisher 22 A2_v2A2_v2
Internetowi pracownicy — udostępnionyWeb Workers - shared 22 A4_v2A4_v2
Internetowa pracownicy — dedykowana — małaWeb Workers - dedicated - small 2 na warstwę2 per tier A1_v2A1_v2
Internetowi pracownicy — dedykowany — średniWeb Workers - dedicated - medium 2 na warstwę2 per tier A2_v2A2_v2
Internetowa sieć Web — dedykowana — dużeWeb Workers - dedicated - large 2 na warstwę2 per tier A4_v2A4_v2

Rola kontroleraController role

Zalecane minimum: dwa wystąpienia elementu A4v2Recommended minimum: Two instances of A4v2

Kontroler Azure App Service zazwyczaj zużywa mniej mocy procesora CPU, pamięci i zasobów sieciowych.The Azure App Service controller typically experiences low consumption of CPU, memory, and network resources. Jednak w celu zapewnienia wysokiej dostępności wymagane są dwa kontrolery.However, for high availability, you must have two controllers. Dwa kontrolery są również maksymalną dozwoloną liczbą kontrolerów.Two controllers are also the maximum number of controllers permitted. Podczas wdrażania można utworzyć drugi kontroler witryn sieci Web bezpośrednio z Instalatora.You can create the second web sites controller direct from the installer during deployment.

Rola frontonuFront-end role

Zalecane minimum: dwa wystąpienia A4v_2Recommended minimum: Two instances of A4v_2

Fronton kieruje żądania do procesów roboczych sieci Web w zależności od dostępności internetowego procesu roboczego.The front-end routes requests to web workers depending on web worker availability. Aby zapewnić wysoką dostępność, należy mieć więcej niż jeden fronton i można mieć więcej niż dwa.For high availability, you should have more than one front end, and you can have more than two. W celu planowania pojemności należy wziąć pod uwagę, że każdy rdzeń może obsłużyć około 100 żądań na sekundę.For capacity planning purposes, consider that each core can handle approximately 100 requests per second.

Rola zarządzaniaManagement role

Zalecane minimum: dwa wystąpienia elementu D3v2Recommended minimum: Two instances of D3v2

Rola klasycznego modelu wdrażania aplikacji Azure jest odpowiedzialna za App Service Azure Resource Manager i punkty końcowe interfejsu API, rozszerzenia portalu (administrator, dzierżawa, portal usługi Functions) i usługi danych.The Azure App classic deployment model role is responsible for the App Service Azure Resource Manager and API endpoints, portal extensions (admin, tenant, Functions portal), and the data service. Rola serwera zarządzania zwykle wymaga tylko około 4 GB pamięci RAM w środowisku produkcyjnym.The management server role typically requires only about 4-GB RAM in a production environment. Może jednak wystąpić wysokie poziomy procesora CPU w przypadku wykonywania wielu zadań zarządzania (takich jak tworzenie witryny sieci Web).However, it may experience high CPU levels when many management tasks (such as web site creation) are performed. Aby zapewnić wysoką dostępność, należy mieć więcej niż jeden serwer przypisany do tej roli oraz co najmniej dwa rdzenie na serwer.For high availability, you should have more than one server assigned to this role, and at least two cores per server.

Rola wydawcyPublisher role

Zalecane minimum: dwa wystąpienia elementu A2v2Recommended minimum: Two instances of A2v2

Jeśli wielu użytkowników jest jednocześnie publikowanych, rola wydawcy może korzystać z dużego użycia procesora CPU.If many users are publishing simultaneously, the publisher role may experience heavy CPU usage. Aby zapewnić wysoką dostępność, upewnij się, że jest dostępna więcej niż jedna rola wydawcy.For high availability, make sure more than one publisher role is available. Wydawca obsługuje tylko ruch FTP/FTPS.The publisher only handles FTP/FTPS traffic.

Rola proces roboczy sieci WebWeb worker role

Zalecane minimum: dwa wystąpienia A4_v2Recommended minimum: Two instances of A4_v2

Aby zapewnić wysoką dostępność, należy mieć co najmniej cztery role procesów roboczych sieci Web: dwie dla trybu udostępnionej witryny sieci Web i dwie dla każdej dedykowanej warstwy procesu roboczego, która ma być oferowana.For high availability, you should have at least four web worker roles: two for shared web site mode and two for each dedicated worker tier you plan to offer. Udostępnione i dedykowane tryby obliczeniowe zapewniają różne poziomy usługi dla dzierżawców.The shared and dedicated compute modes provide different levels of service to tenants. W przypadku wielu klientów może być konieczne zwiększenie liczby procesów roboczych sieci Web:You might need more web workers if many of your customers are:

  • Korzystanie z dedykowanych warstw procesów roboczych trybu obliczania (z intensywnym zasobem).Using dedicated compute mode worker tiers (which are resource-intensive).
  • Uruchamianie w trybie obliczeń udostępnionych.Running in shared compute mode.

Gdy użytkownik utworzy plan App Service dla dedykowanej jednostki SKU trybu obliczania, liczba procesów roboczych sieci Web określonych w tym App Service planie nie jest już dostępna dla użytkowników.After a user has created an App Service plan for a dedicated compute mode SKU, the number of web worker(s) specified in that App Service plan is no longer available to users.

Aby zapewnić Azure Functions użytkownikom w modelu planu zużycia, należy wdrożyć udostępnionych pracowników sieci Web.To provide Azure Functions to users in the consumption plan model, you must deploy shared web workers.

Przy podejmowaniu decyzji o liczbie udostępnionych ról procesów roboczych sieci Web do użycia Przejrzyj następujące zagadnienia:When deciding on the number of shared web worker roles to use, review these considerations:

  • Pamięć: pamięć jest najbardziej krytycznym zasobem dla roli proces roboczy sieci Web.Memory: Memory is the most critical resource for a web worker role. Niewystarczająca ilość pamięci wpływa na wydajność witryny sieci Web, gdy pamięć wirtualna jest wymieniana z dysku.Insufficient memory impacts web site performance when virtual memory is swapped from disk. Każdy serwer wymaga około 1,2 GB pamięci RAM dla systemu operacyjnego.Each server requires about 1.2 GB of RAM for the operating system. Pamięć RAM powyżej tego progu można użyć do uruchamiania witryn sieci Web.RAM above this threshold can be used to run web sites.

  • Procent aktywnych witryn sieci Web: zwykle około 5 procent aplikacji w Azure App Service w ramach wdrożenia centrum Azure Stack jest aktywne.Percentage of active web sites: Typically, about 5 percent of apps in an Azure App Service on Azure Stack Hub deployment are active. Jednak procent aplikacji, które są aktywne w danym momencie, może być wyższy lub niższy.However, the percentage of apps that are active at any given moment can be higher or lower. W przypadku aktywnej stawki aplikacji o wartości 5% Maksymalna liczba aplikacji do umieszczenia w Azure App Service w ramach wdrożenia centrum Azure Stack powinna być mniejsza niż 20 razy większa niż liczba aktywnych witryn sieci Web (5 x 20 = 100).With an active app rate of 5 percent, the maximum number of apps to place in an Azure App Service on Azure Stack Hub deployment should be less than 20 times the number of active web sites (5 x 20 = 100).

  • Średni rozmiar pamięci: średni rozmiar pamięci dla aplikacji obserwowanych w środowiskach produkcyjnych wynosi około 70 MB.Average memory footprint: The average memory footprint for apps observed in production environments is about 70 MB. Korzystając z tego wpływu, pamięć przydzieloną na wszystkich komputerach roli proces roboczy sieci Web lub maszynach wirtualnych jest obliczana w następujący sposób:Using this footprint, the memory allocated across all web worker role computers or VMs is calculated as follows:

    Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)

    Na przykład jeśli w środowisku, w którym uruchomiono 10 ról procesu roboczego, są 5 000 aplikacje, każda maszyna internetowa roli proces roboczy sieci Web powinna mieć 7060 MB pamięci RAM:For example, if there are 5,000 apps on an environment running 10 web worker roles, each web worker role VM should have 7060-MB RAM:

    5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)

    Aby uzyskać informacje na temat dodawania większej liczby wystąpień procesów roboczych, zobacz Dodawanie większej liczby ról procesów roboczych.For info on adding more worker instances, see Adding more worker roles.

Dodatkowe uwagi dla dedykowanych procesów roboczych podczas uaktualniania i konserwacjiAdditional considerations for dedicated workers during upgrade and maintenance

Podczas uaktualniania i konserwacji procesów roboczych Azure App Service w usłudze Azure Stack Hub przeprowadzi konserwację 20% każdej warstwy procesu roboczego w dowolnym momencie.During upgrade and maintenance of workers, Azure App Service on Azure Stack Hub will perform maintenance on 20% of each worker tier at any one time. W związku z tym administratorzy chmury muszą zawsze obsługiwać 20% pulę niealokowanych pracowników na warstwę procesów roboczych, aby upewnić się, że ich dzierżawcy nie napotykają żadnej utraty usługi podczas uaktualniania i konserwacji.Therefore, cloud admins must always maintain a 20% pool of unallocated workers per worker tier to ensure their tenants don't experience any loss of service during upgrade and maintenance. Jeśli na przykład w warstwie procesów roboczych znajduje się 10 pracowników, należy upewnić się, że 2 są nieprzypisane, aby umożliwić uaktualnienie i konserwację.For example, if you have 10 workers in a worker tier you should ensure that 2 are unallocated to allow upgrade and maintenance. Jeśli zostanie przydzielona pełna 10 procesów roboczych, należy skalować warstwę procesu roboczego, aby zachować pulę niealokowanych pracowników.If the full 10 workers become allocated, you should scale the worker tier up to maintain a pool of unallocated workers.

Podczas uaktualniania i konserwacji Azure App Service przeniesie obciążenia do niealokowanych pracowników, aby upewnić się, że obciążenia będą nadal działać.During upgrade and maintenance, Azure App Service will move workloads to unallocated workers to ensure the workloads will continue to operate. Jeśli jednak w trakcie uaktualniania nie ma dostępnych nieprzypisanych procesów roboczych, istnieje możliwość przestoju obciążenia dzierżawy.However, if there are no unallocated workers available during upgrade then there's potential for tenant workload downtime. W odniesieniu do udostępnionych procesów roboczych klienci nie muszą udostępniać dodatkowych pracowników, ponieważ usługa domyślnie przydzieli aplikacje dzierżawy w ramach dostępnych procesów roboczych.With regards to shared workers, customers don't need to provision additional workers as the service will allocate tenant apps within available workers automatically. Aby zapewnić wysoką dostępność, istnieje minimalny wymóg dwóch procesów roboczych w tej warstwie.For high availability, there's a minimum requirement of two workers in this tier.

Administratorzy chmury mogą monitorować swoje alokacje warstwy procesów roboczych w obszarze administratora App Service w portalu administratora centrum Azure Stack.Cloud admins can monitor their worker tier allocation in the App Service admin area in the Azure Stack Hub administrator portal. Przejdź do App Service a następnie wybierz pozycję warstwy procesu roboczego w okienku po lewej stronie.Navigate to App Service and then select Worker Tiers in the left-hand pane. W tabeli warstwy procesów roboczych jest wyświetlana nazwa warstwy procesu roboczego, rozmiar, używany obraz, liczba dostępnych procesów roboczych (bez przydziału), Łączna liczba pracowników w każdej warstwie oraz ogólny stan warstwy procesu roboczego.The Worker Tiers table shows worker tier name, size, image used, number of available workers (unallocated), total number of workers in each tier and the overall state of the worker tier.

App Service Administracja — warstwy procesów roboczych

Rola serwera plikówFile server role

Dla roli serwera plików można użyć autonomicznego serwera plików na potrzeby projektowania i testowania.For the file server role, you can use a standalone file server for development and testing. Na przykład podczas wdrażania Azure App Service na Azure Stack Development Kit (ASDK) można użyć tego szablonu.For example, when deploying Azure App Service on the Azure Stack Development Kit (ASDK) you can use this template. Do celów produkcyjnych należy użyć wstępnie skonfigurowanego serwera plików systemu Windows lub wstępnie skonfigurowanego serwera plików, który nie jest systemem Windows.For production purposes, you should use a pre-configured Windows file server, or a pre-configured non-Windows file server.

W środowiskach produkcyjnych rola serwera plików zajmuje dużo miejsca we/wy dysku.In production environments, the file server role experiences intensive disk I/O. Ponieważ wszystkie pliki zawartości i aplikacji w witrynach sieci Web użytkownika zostały zapełnione, należy wstępnie skonfigurować jeden z następujących zasobów dla tej roli:Because it houses all of the content and app files for user web sites, you should preconfigure one of the following resources for this role:

  • Serwer plików systemu WindowsWindows file server
  • Klaster serwera plików systemu WindowsWindows file server cluster
  • Serwer plików bez systemu WindowsNon-Windows file server
  • Klaster serwera plików bez systemu WindowsNon-Windows file server cluster
  • Urządzenie NAS (magazyn podłączony do sieci)NAS (Network Attached Storage) device

Aby uzyskać więcej informacji, zobacz temat udostępnianie serwera plików.For more information, see Provision a file server.

Następne krokiNext steps

Wymagania wstępne dotyczące wdrażania usługi App Service w usłudze Azure Stack HubPrerequisites for deploying App Service on Azure Stack Hub