Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Notitie
Sommige van de volgende richtlijnen werken mogelijk alleen voor Windows-app Service of Linux App Service. Linux App Service wordt bijvoorbeeld standaard uitgevoerd in de 64-bits modus.
Samenvatting
In dit artikel vindt u antwoorden op veelgestelde vragen (FAQ) over prestatieproblemen met toepassingen voor de functie voor web-apps van Azure App Service.
Waar vind ik meer informatie over quota en limieten voor verschillende App Service-abonnementen?
Zie App Service-limieten voor informatie over quota en limieten.
In mijn App Service-plan wordt HET CPU- of geheugengebruik weergegeven, zelfs wanneer alle web-apps zijn gestopt
App Service vereist continue systeemprocessen die verschillende platformbewerkingen en -functies verwerken, zoals beveiligingsupdates, beschikbaarheid van de SCM-console (Kudu), toepassingsbewaking, verificatie en vele andere web-app-functies.
Systeemprocessen worden uitgevoerd op App Service-plannen, zelfs als er geen web-apps worden uitgevoerd of als het App Service-plan geen web-apps bevat.
De platformprocessen verbruiken een minimale hoeveelheid resources (zoals CPU, geheugen en schijfruimte) en u moet rekening houden met deze resources tijdens de configuratie van capaciteitsplanning, bewaking en automatisch schalen van een App Service-plan.
De prestaties van mijn app zijn traag
Meerdere factoren kunnen bijdragen aan trage app-prestaties. Zie Problemen met trage prestaties van web-apps oplossen voor gedetailleerde stappen voor probleemoplossing.
Aanbeveling
- Schakel de instelling AlwaysOn in onder Algemene>configuratie-instellingen om uw app warm te houden en koude start te voorkomen. Deze instelling helpt vertraging na niet-actieve tijd te verminderen, met name in Basic- en hogere plannen.
- Configureer een statuscontrolepad om de status van de app te bewaken en vervang niet-reagerende exemplaren automatisch. Deze configuratie helpt de beschikbaarheid en prestaties te behouden. Voor meer informatie, zie App Service-exemplaren bewaken met behulp van een Gezondheidscontrole.
Hoe kan ik problemen met hoog CPU-verbruik oplossen?
In sommige scenario's met hoog CPU-verbruik vereist uw app mogelijk echt meer rekenresources. In dat geval kunt u overwegen om naar een hogere servicelaag te schalen, zodat de toepassing alle benodigde resources krijgt. In andere gevallen kan een hoog CPU-verbruik worden veroorzaakt door een slechte lus of door een coderingspraktijk. Inzicht krijgen in wat een verhoogd CPU-verbruik activeert, is een tweedelige procedure. Maak eerst een procesdump en analyseer vervolgens de procesdump. Zie Een dumpbestand vastleggen en analyseren voor een hoog CPU-verbruik voor Web Apps voor meer informatie.
Hoe kan ik problemen met een hoog geheugenverbruik oplossen?
In sommige scenario's met een hoog geheugenverbruik vereist uw app mogelijk echt meer rekenresources. In dat geval kunt u overwegen om naar een hogere servicelaag te schalen, zodat de toepassing alle benodigde resources krijgt. In andere gevallen kan een fout in de code een geheugenlek veroorzaken. Een coderingspraktijk kan ook het geheugenverbruik verhogen. Inzicht krijgen in wat een hoog geheugenverbruik activeert, is een tweedelige procedure. Maak eerst een procesdump en analyseer vervolgens de procesdump. Crash Diagnoser uit de Azure Site Extension Gallery kan deze beide stappen efficiƫnt uitvoeren. Zie Een dumpbestand maken en analyseren voor intermitterend hoog geheugengebruik bij Web Apps voor meer informatie.
Hoe kan ik App Service-web-apps automatiseren met behulp van PowerShell?
U kunt PowerShell-cmdlets gebruiken om App Service-web-apps te beheren en te onderhouden. Zie Web-apps automatiseren die worden gehost in Azure App Service met behulp van PowerShell voor meer informatie over het gebruik van powershell-cmdlets op basis van Azure Resource Manager om algemene taken te automatiseren.
Notitie
Gebruik de nieuwste Az.Websites-module voor huidige automatiseringsscripts. De oudere AzureRM module is afgeschaft.
Ik moet informatie verzamelen om problemen met mijn web-app op te lossen
Gebeurtenislogboeken van een web-app weergeven
Voer de volgende stappen uit om de gebeurtenislogboeken van een web-app weer te geven:
- Meld u aan bij uw Kudu-website (
https://*yourwebsitename*.scm.azurewebsites.net). - In het menu selecteert u Debug Console>CMD.
- Selecteer de map LogFiles.
- Als u gebeurtenislogboeken wilt weergeven, selecteert u het potloodpictogram naast eventlog.xml.
- Voer de PowerShell-cmdlet
Save-AzureWebSiteLog -Name webappnameuit om de logboeken te downloaden.
Een geheugendump in de gebruikersmodus van een web-app vastleggen
Volg deze stappen om een geheugendump in de gebruikersmodus van een web-app vast te leggen:
- Meld u aan bij uw Kudu-website (
https://*yourwebsitename*.scm.azurewebsites.net). - Selecteer het menu Process Explorer.
- Klik met de rechtermuisknop op het proces w3wp.exe of uw WebJob-proces.
- Selecteer Volledige dump voor geheugendump>downloaden.
Informatie op procesniveau voor een web-app weergeven
U hebt twee opties voor het weergeven van informatie op procesniveau voor uw web-app:
-
- Open de Process Explorer voor de web-app.
- Als u de details wilt bekijken, selecteert u het w3wp.exe proces.
In de Kudu-console:
- Meld u aan bij uw Kudu-website (
https://*yourwebsitename*.scm.azurewebsites.net). - Selecteer het menu Process Explorer.
- Selecteer Eigenschappen voor het w3wp.exe-proces.
- Meld u aan bij uw Kudu-website (
Ik kan mijn logboekbestanden niet vinden in de mapstructuur van mijn web-app wanneer ik de lokale cachefunctie van App Service gebruik
Als u de lokale cachefunctie van App Service gebruikt, is dit van invloed op de mapstructuur van de logbestanden en gegevensmappen voor uw App Service-exemplaar. Wanneer lokale cache wordt gebruikt, maakt het systeem submappen in de opslaglogboekbestanden en gegevensmappen. De submappen gebruiken het naamgevingspatroon 'unieke id' plus tijdstempel. Elke submap komt overeen met een instantie van een virtuele machine (VM) waarop de web-app wordt uitgevoerd of is uitgevoerd.
Als u wilt bepalen of u lokale cache gebruikt, controleert u het tabblad Instellingen van de App Service-toepassing . Als het systeem lokale cache gebruikt, wordt de app-instelling WEBSITE_LOCAL_CACHE_OPTION ingesteld op Always.
Tracering van mislukte aanvragen inschakelen
Voer de volgende stappen uit om tracering van mislukte aanvragen in te schakelen:
Ga in Azure Portal naar uw web-app.
Selecteer Alle instellingen>Diagnostische logboeken.
Voor Tracering van mislukte aanvragen selecteert u Aan.
Selecteer Opslaan.
Selecteer Hulpprogramma's op de blade van de web-app.
Selecteer Visual Studio Online.
Als de instelling niet is ingeschakeld, selecteert u Aan.
Selecteer Start.
Selecteer Web.config.
Voeg in system.webServer de volgende configuratie toe (om een specifieke URL vast te leggen):
<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>Als u problemen met trage prestaties wilt oplossen, voegt u deze configuratie toe (als het vastleggen van de aanvraag langer duurt dan 30 seconden):
<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>Als u de mislukte aanvraagtraceringen wilt downloaden, gaat u in de Azure-portal naar uw website.
Selecteer Extra>Kudu>Go.
In het menu selecteert u Debug Console>CMD.
Selecteer de map LogFiles en selecteer vervolgens de map met een naam die begint met W3SVC.
Als u het XML-bestand wilt zien, selecteert u het potloodpictogram.
Aanvullende aanbevelingen voor prestaties en tolerantie
Gebruik Application Insights en Azure Monitor voor volledige stack waarneembaarheid van uw App Service-app, waaronder telemetrie, afhankelijkheidstracering en live metrische gegevens.
Als u implementeert in regio's die beschikbaarheidszones ondersteunen, kunt u overwegen zoneredundantie in te schakelen om de tolerantie tijdens regionale storingen te verbeteren. Zie Betrouwbaarheid in Azure-app Service voor meer informatie.
App Service ondergaat routineonderhoud om de betrouwbaarheid van het platform te garanderen. Voor meer controle over het gedrag van updates, met name in App Service Environment v3, configureert u de upgradevoorkeur. Zie Routineonderhoud (gepland) voor Azure App Service voor meer informatie.