Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Några av följande riktlinjer kanske bara fungerar på Windows App Service eller Linux App Service. Till exempel körs Linux App Service i 64-bitarsläge som standard.
Sammanfattning
Den här artikeln besvarar vanliga frågor och svar om problem med programprestanda för funktionen webbappar i Azure App Service.
Var kan jag lära mig mer om kvoter och gränser för olika App Service-planer?
Information om kvoter och gränser finns i App Service-gränser.
Min App Service-plan visar cpu- eller minnesanvändning även när alla webbappar stoppas
App Service kräver kontinuerliga systemprocesser som hanterar flera plattformsåtgärder och funktioner, till exempel säkerhetsuppdateringar, tillgänglighet för SCM-konsolen (Kudu), programövervakning, autentisering och många andra webbappfunktioner.
Systemprocesser körs på App Service-planer även om det inte finns några webbappar som körs eller om App Service-planen inte innehåller några webbappar.
Plattformsprocesserna förbrukar en minsta mängd resurser (till exempel PROCESSOR, minne och diskutrymme), och du bör ta hänsyn till dessa resurser under konfigurationen av kapacitetsplanering, övervakning och automatisk skalning av en App Service-plan.
Min appprestanda är långsam
Flera faktorer kan bidra till långsamma appprestanda. Detaljerade felsökningssteg finns i Felsöka långsamma prestanda för webbappar.
Tips/Råd
- Aktivera inställningen Alltid på under Konfiguration>Allmänna inställningar för att hålla appen varm och undvika kallstarter. Den här inställningen hjälper till att minska fördröjningen efter inaktiv tid, särskilt i Grundläggande och högre planer.
- Konfigurera en sökväg för hälsokontroll för att övervaka appens hälsa och automatiskt ersätta instanser som inte svarar. Den här konfigurationen hjälper till att upprätthålla tillgänglighet och prestanda. Mer information finns i Övervaka App Service-instanser med hjälp av hälsokontroll.
Hur felsöker jag hög CPU-förbrukning?
I vissa scenarier med hög CPU-förbrukning kan din app verkligen kräva mer databehandlingsresurser. I så fall bör du överväga att skala till en högre tjänstnivå så att programmet hämtar alla resurser som behövs. Andra gånger kan hög CPU-förbrukning orsakas av en felaktig loop eller av en kodningspraxis. Att få insikt i vad som utlöser ökad CPU-förbrukning är en process i två delar. Först skapar du en processdump och analyserar sedan processdumpningen. Mer information finns i Avbilda och analysera en dumpfil för hög CPU-förbrukning för Web Apps.
Hur felsöker jag hög minnesförbrukning?
I vissa scenarier med hög minnesförbrukning kan din app verkligen kräva mer databehandlingsresurser. I så fall bör du överväga att skala till en högre tjänstnivå så att programmet hämtar alla resurser som behövs. Andra gånger kan en bugg i koden orsaka en minnesläcka. En kodningspraxis kan också öka minnesförbrukningen. Att få insikt i vad som utlöser hög minnesförbrukning är en process i två delar. Först skapar du en processdump och analyserar sedan processdumpningen. Crash Diagnoser från Azure Site Extension Gallery kan effektivt genomföra båda dessa steg. Mer information finns i Samla in och analysera en dumpfil för tillfälligt hög minnesanvändning för Web Apps.
Hur gör jag för att automatisera App Service-webbappar med hjälp av PowerShell?
Du kan använda PowerShell-cmdletar för att hantera och underhålla App Service-webbappar. Mer information om hur du använder Azure Resource Manager-baserade PowerShell-cmdletar för att automatisera vanliga uppgifter finns i Automatisera webbappar som finns i Azure App Service med hjälp av PowerShell.
Kommentar
Använd den senaste Az.Websites-modulen för aktuella automationsskript. Den äldre AzureRM modulen är inaktuell.
Jag behöver samla in information för att felsöka min webbapp
Visa en webbapps händelseloggar
Följ dessa steg om du vill visa en webbapps händelseloggar:
- Logga in på din Kudu-webbplats (
https://*yourwebsitename*.scm.azurewebsites.net). - I menyn väljer du Felsökningskonsol>CMD.
- Välj mappen LogFiles.
- Om du vill visa händelseloggar väljer du pennikonen bredvid eventlog.xml.
- Om du vill ladda ned loggarna kör du PowerShell-cmdleten
Save-AzureWebSiteLog -Name webappname.
Avbilda en minnesdump i användarläge för en webbapp
Följ dessa steg för att samla in en minnesdump i användarläge för en webbapp:
- Logga in på din Kudu-webbplats (
https://*yourwebsitename*.scm.azurewebsites.net). - Välj menyn ProcessUtforskaren.
- Högerklicka på processen w3wp.exe eller din WebJob-process.
- Välj Ladda ned minnesdump>Fullständig dump.
Visa information på processnivå för en webbapp
Du har två alternativ för att visa information på processnivå för din webbapp:
-
- Öppna processutforskaren för webbappen.
- Om du vill se informationen väljer du den w3wp.exe processen.
I Kudu-konsolen:
- Logga in på din Kudu-webbplats (
https://*yourwebsitename*.scm.azurewebsites.net). - Välj menyn ProcessUtforskaren.
- För w3wp.exe processen väljer du Egenskaper.
- Logga in på din Kudu-webbplats (
Jag hittar inte mina loggfiler i webbappens mappstruktur när jag använder funktionen för lokal cache i App Service
Om du använder den lokala cachefunktionen i App Service påverkas mappstrukturen för Mapparna LogFiles och Data för din App Service-instans. När lokal cache används skapar systemet undermappar i lagringsmapparna LogFiles och Data. Undermapparna använder namngivningsmönstret med "unik identifierare" och tidsstämpel. Varje undermapp motsvarar en virtuell datorinstans där webbappen körs eller har körts.
Om du vill ta reda på om du använder lokal cache kontrollerar du fliken Inställningar för App Service-program . Om systemet använder lokal cache är appinställningen WEBSITE_LOCAL_CACHE_OPTION inställd på Always.
Aktivera spårning av misslyckade begäranden
Följ dessa steg för att aktivera spårning av misslyckade förfrågningar:
I Azure Portal går du till din webbapp.
Välj Alla inställningar>Diagnostikloggar.
För Spårning av misslyckade begäranden väljer du På.
Välj Spara.
Välj Verktyg på webbappsbladet.
Välj Visual Studio Online.
Om inställningen inte är På väljer du På.
Välj Gå.
Välj Web.config.
I system.webServer lägger du till följande konfiguration (för att avbilda en specifik URL):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*api*" /> <add path="*api*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Om du vill felsöka problem med långsamma prestanda lägger du till den här konfigurationen (om insamlingsbegäran tar mer än 30 sekunder):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*" /> <add path="*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions timeTaken="00:00:30" statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Om du vill ladda ned spårningar av misslyckade begäranden går du till din webbplats i Azure-portalen.
Välj Verktyg>Kudu>Go.
I menyn väljer du Felsökningskonsol>CMD.
Välj mappen LogFiles och välj sedan mappen med ett namn som börjar med W3SVC.
Om du vill se XML-filen väljer du pennikonen.
Ytterligare rekommendationer för prestanda och motståndskraft
Använd Application Insights och Azure Monitor för full stack-observerbarhet för din App Service-app, inklusive telemetri, beroendespårning och livemått.
Om du distribuerar i regioner som stöder tillgänglighetszoner kan du överväga att aktivera zonredundans för att förbättra motståndskraften vid regionala avbrott. Mer information finns i Tillförlitlighet i Azure App Service.
App Service genomgår rutinmässigt underhåll för att säkerställa plattformens tillförlitlighet. Om du vill ha mer kontroll över uppdateringsbeteendet, särskilt i App Service Environment v3, konfigurerar du uppgraderingsinställningar. Mer information finns i Rutinunderhåll (planerat) för Azure App Service.