Kapacitetsplanering för App Service-serverroller i Azure Stack Hub
Om du vill konfigurera en produktionsklar distribution av Azure App Service på Azure Stack Hub måste du planera för den kapacitet som du förväntar dig att systemet ska stödja.
Den här artikeln innehåller vägledning om det minsta antalet beräkningsinstanser och beräknings-SKU:er som du bör använda för alla produktionsdistributioner.
Anteckning
Vägledningen om rekommenderad beräknings-SKU för roller uppdaterades med 2020.Q2-versionen av Azure App Service på Azure Stack Hub för att anpassa standarddistributioner till Azure-distributioner.
Du kan planera din App Service kapacitetsstrategi med hjälp av dessa riktlinjer.
App Service serverroll | Minsta rekommenderade antal instanser | Rekommenderad beräknings-SKU |
---|---|---|
Kontrollant | 2 | A4v2 |
Klientdel | 2 | A4_v2 |
Hantering | 2 | D3_v2 |
Publisher | 2 | A2_v2 |
Webbarbetare – delad | 2 | A4_v2 |
Webbarbetare – dedikerade – små | 2 per nivå | A1_v2 |
Webbarbetare – dedikerade – medel | 2 per nivå | A2_v2 |
Webbarbetare – dedikerade – stora | 2 per nivå | A4_v2 |
Kontrollantroll
Rekommenderat minimum: Två instanser av A4v2
Den Azure App Service styrenheten har vanligtvis låg förbrukning av PROCESSOR-, minnes- och nätverksresurser. För hög tillgänglighet måste du dock ha två styrenheter. Två kontrollanter är också det maximala antalet kontrollanter som tillåts. Du kan skapa den andra webbtjänstkontrollanten direkt från installationsprogrammet under distributionen.
Klientdelsroll
Rekommenderat minimum: Två instanser av A4v_2
Klientdelen dirigerar begäranden till webbarbetare beroende på webbarbetares tillgänglighet. För hög tillgänglighet bör du ha mer än en klientdel och du kan ha fler än två. I kapacitetsplaneringssyfte bör du tänka på att varje kärna kan hantera cirka 100 begäranden per sekund.
Hanteringsroll
Rekommenderat minimum: Två instanser av D3v2
Den Azure App klassiska distributionsmodellrollen ansvarar för App Service Azure Resource Manager- och API-slutpunkter, portaltillägg (administratör, klientorganisation, Functions-portalen) och datatjänsten. Hanteringsserverrollen kräver vanligtvis bara cirka 4 GB RAM-minne i en produktionsmiljö. Det kan dock uppstå höga CPU-nivåer när många hanteringsuppgifter (till exempel skapande av webbplatser) utförs. För hög tillgänglighet bör du ha fler än en server tilldelad till den här rollen och minst två kärnor per server.
Utgivarroll
Rekommenderat minimum: Två instanser av A2v2
Om många användare publicerar samtidigt kan utgivarrollen uppleva hög CPU-användning. Kontrollera att fler än en utgivarroll är tillgänglig för hög tillgänglighet. Utgivaren hanterar endast FTP/FTPS-trafik.
Webbarbetsroll
Rekommenderat minimum: Två instanser av A4_v2
För hög tillgänglighet bör du ha minst fyra webbarbetsroller: två för delat webbplatsläge och två för varje dedikerad arbetsnivå som du planerar att erbjuda. De delade och dedikerade beräkningslägena ger olika tjänstnivåer till klientorganisationer. Du kan behöva fler webbarbetare om många av dina kunder:
- Använda arbetsnivåer för dedikerad beräkningsläge (som är resursintensiva).
- Körs i delat beräkningsläge.
När en användare har skapat en App Service plan för en dedikerad SKU för beräkningsläge är antalet webbarbetare som anges i den App Service planen inte längre tillgängligt för användarna.
Om du vill tillhandahålla Azure Functions till användare i förbrukningsplanmodellen måste du distribuera delade webbarbetare.
När du bestämmer hur många delade webbarbetsroller som ska användas bör du läsa följande överväganden:
Minne: Minnet är den mest kritiska resursen för en webbarbetsroll. Otillräckligt minne påverkar webbplatsens prestanda när virtuellt minne växlas från disk. Varje server kräver cirka 1,2 GB RAM-minne för operativsystemet. RAM-minne över det här tröskelvärdet kan användas för att köra webbplatser.
Procentandel aktiva webbplatser: Vanligtvis är cirka 5 procent av apparna i en Azure App Service i Azure Stack Hub-distributionen aktiva. Procentandelen appar som är aktiva när som helst kan dock vara högre eller lägre. Med en aktiv appfrekvens på 5 procent bör det maximala antalet appar som ska placeras i en Azure App Service i Azure Stack Hub-distribution vara mindre än 20 gånger antalet aktiva webbplatser (5 x 20 = 100).
Genomsnittligt minnesavtryck: Det genomsnittliga minnesavtrycket för appar som observerats i produktionsmiljöer är cirka 70 MB. Med det här fotavtrycket beräknas det allokerade minnet för alla webbarbetsrolldatorer eller virtuella datorer på följande sätt:
Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)
Om det till exempel finns 5 000 appar i en miljö som kör 10 webbarbetsroller bör varje virtuell webbarbetsroll ha 7 060 MB RAM-minne:
5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)
Information om hur du lägger till fler arbetsinstanser finns i Lägga till fler arbetsroller.
Ytterligare överväganden för dedikerade arbetare under uppgradering och underhåll
Under uppgradering och underhåll av arbetare utför Azure App Service på Azure Stack Hub underhåll på 20 % av varje arbetsnivå samtidigt. Därför måste molnadministratörer alltid ha en 20%-pool med oallokerade arbetare per arbetsnivå för att säkerställa att deras klienter inte upplever någon förlust av tjänst under uppgradering och underhåll. Om du till exempel har 10 arbetare på en arbetsnivå bör du se till att 2 är oallokerade för att tillåta uppgradering och underhåll. Om hela 10 arbetare tilldelas bör du skala upp arbetsnivån för att upprätthålla en pool med oallokerade arbetare.
Under uppgradering och underhåll flyttar Azure App Service arbetsbelastningar till oallokerade arbetare för att säkerställa att arbetsbelastningarna fortsätter att fungera. Men om det inte finns några oallokerade arbetare tillgängliga under uppgraderingen finns det risk för avbrott i klientarbetsbelastningen. När det gäller delade arbetare behöver kunderna inte etablera ytterligare arbetare eftersom tjänsten automatiskt allokerar klientappar inom tillgängliga arbetare. För hög tillgänglighet finns det ett minimikrav på två arbetare på den här nivån.
Molnadministratörer kan övervaka sin arbetsnivåallokering i App Service administratörsområdet i Azure Stack Hub-administratörsportalen. Gå till App Service och välj sedan Arbetsnivåer i den vänstra rutan. Tabellen Arbetsnivåer visar arbetsnivånamn, storlek, bild som används, antal tillgängliga arbetare (ej allokerade), totalt antal arbetare på varje nivå och det övergripande tillståndet för arbetsnivån.
Filserverroll
För filserverrollen kan du använda en fristående filserver för utveckling och testning. När du till exempel distribuerar Azure App Service i Azure Stack Development Kit (ASDK) kan du använda den här mallen. I produktionssyfte bör du använda en förkonfigurerad Windows-filserver eller en förkonfigurerad filserver som inte är Windows.
I produktionsmiljöer upplever filserverrollen intensiv disk-I/O. Eftersom den innehåller allt innehåll och alla appfiler för användarwebbplatser bör du förkonfigurera någon av följande resurser för den här rollen:
- Windows-filserver
- Windows-filserverkluster
- Filserver som inte är Windows-fil
- Filserverkluster som inte är Windows-filer
- NAS-enhet (nätverksansluten lagring)
Mer information finns i Etablera en filserver.