Hitta och diagnostisera prestandaproblem med Application Insights
Application Insights samlar in telemetri från ditt program för att analysera dess drift och prestanda. Du kan använda den här informationen till att identifiera problem som kan uppstå eller till att identifiera vilka förbättringar av programmet som skulle påverka flest användare. Den här kursen hjälper dig att analysera prestandan både för programmets serverkomponenter och ur klientens perspektiv.
Du lär dig att:
- Identifiera prestanda för åtgärder på serversidan.
- Analysera serveråtgärder för att fastställa rotorsaken till långsamma prestanda.
- Identifiera de långsammaste åtgärderna på klientsidan.
- Analysera information om sidvisningar med hjälp av frågespråk.
Förutsättningar
För att slutföra den här kursen behöver du:
- Installera Visual Studio 2019 med följande arbetsbelastningar:
- ASP.NET- och webbutveckling
- Azure development (Azure-utveckling)
- Distribuera ett .NET-program till Azure och aktivera Application Insights SDK
- Aktivera Application Insights-profileraren för ditt program.
Logga in på Azure
Logga in på Azure-portalen.
Identifiera långsamma serveråtgärder
Application Insights samlar in prestandainformation för de olika åtgärderna i ditt program. Genom att identifiera de åtgärder som har den längsta varaktigheten kan du diagnostisera potentiella problem eller rikta in dig på din pågående utveckling för att förbättra programmets övergripande prestanda.
Välj Application Insights och sedan din prenumeration.
Öppna panelen Prestanda genom att antingen välja Prestanda under menyn Undersök eller välja diagrammet Serversvarstid .
Skärmen Prestanda visar antalet och den genomsnittliga varaktigheten för varje åtgärd för programmet. Du kan använda den här informationen för att identifiera de åtgärder som påverkar användarna mest. I det här exemplet är GET Customers/Details och GET Home/Index lämpliga kandidater att undersöka på grund av deras relativt långa varaktighet och antalet anrop. Andra åtgärder kan ha en högre varaktighet men kallades sällan, så effekten av deras förbättring skulle vara minimal.
I diagrammet visas den genomsnittliga varaktigheten för de valda åtgärderna över tid. Du kan växla till den 95:e percentilen för att hitta prestandaproblemen. Lägg till de åtgärder som du är intresserad av genom att fästa dem i diagrammet. Diagrammet visar att det finns några toppar som är värda att undersöka. Om du vill isolera dem ytterligare minskar du tidsfönstret för diagrammet.
Prestandapanelen till höger visar fördelningen av varaktigheterna för olika begäranden för den valda åtgärden. Minska fönstret för att starta runt den 95:e percentilen. Kortet Top 3 Dependencies Insights kan snabbt se att de externa beroendena sannolikt bidrar till de långsamma transaktionerna. Välj knappen med antalet exempel för att se en lista över exemplen. Välj sedan valfritt exempel för att se transaktionsinformation.
Du kan snabbt se att anropet till Fabrikamaccount Azure Table bidrar mest till transaktionens totala varaktighet. Du kan också se att ett undantag orsakade felet. Välj ett objekt i listan för att se dess information till höger.
Profiler hjälper dig att komma vidare med diagnostik på kodnivå genom att visa den faktiska kod som kördes för åtgärden och den tid som krävs för varje steg. Vissa åtgärder kanske inte har någon spårning eftersom Profiler körs med jämna mellanrum. Med tiden bör fler åtgärder ha spårningar. Om du vill starta Profiler för åtgärden väljer du Profiler-spårningar.
Spårningen visar de enskilda händelserna för varje åtgärd så att du kan diagnostisera rotorsaken under hela åtgärden. Välj ett av de främsta exemplen som har den längsta varaktigheten.
Välj Frekvent sökväg för att markera den specifika sökvägen för händelser som bidrar mest till åtgärdens totala varaktighet. I det här exemplet kan du se att det långsammaste anropet
FabrikamFiberAzureStorage.GetStorageTableData
kommer från metoden. Den del som tar mest tid ärCloudTable.CreateIfNotExist
metoden. Om den här kodraden körs varje gång funktionen anropas förbrukas onödiga nätverksanrop och CPU-resurser. Det bästa sättet att åtgärda koden är att placera den här raden i någon startmetod som bara körs en gång.Prestandatipset överst på skärmen stöder bedömningen att den långa varaktigheten beror på väntan. Välj den väntande länken för dokumentation om hur du tolkar olika typer av händelser.
För ytterligare analys väljer du Ladda ned spårning för att ladda ned spårningen. Du kan visa dessa data med hjälp av PerfView.
Använda loggdata för servern
Loggar ger ett omfattande frågespråk som du kan använda för att analysera alla data som samlas in av Application Insights. Du kan använda den här funktionen för att utföra djupgående analys av begärande- och prestandadata.
Gå tillbaka till åtgärdsinformationspanelen och välj Visa i loggar (analys).
Skärmen Loggar öppnas med en fråga för var och en av vyerna i panelen. Du kan köra dessa frågor som de är eller ändra dem efter dina behov. Den första frågan visar åtgärdens varaktighet över tid.
Identifiera långsamma klientåtgärder
Förutom att identifiera serverprocesser att optimera så kan Application Insights även analysera ur ett klientperspektiv. Den här informationen kan hjälpa dig att identifiera potentiella förbättringar av klientkomponenter och även identifiera problem med olika webbläsare eller olika platser.
Välj Webbläsare under Undersök och välj sedan Webbläsarprestanda. Du kan också välja Prestanda under Undersök och växla till fliken Webbläsare genom att välja växlingsknappen Server/Webbläsare i det övre högra hörnet för att öppna webbläsarens prestandasammanfattning. Den här vyn innehåller en visuell sammanfattning av olika telemetrier i ditt program från webbläsarens perspektiv.
Välj ett av åtgärdsnamnen , välj knappen Exempel längst ned till höger och välj sedan en åtgärd. Transaktionsinformation från slutpunkt till slutpunkt öppnas till höger där du kan visa egenskaper för sidvisning. Du kan visa information om klienten som begär sidan, inklusive typ av webbläsare och dess plats. Den här informationen kan hjälpa dig att avgöra om det finns prestandaproblem för specifika typer av klienter.
Använda loggdata för klienten
Precis som de data som samlas in för serverprestanda gör Application Insights alla klientdata tillgängliga för djupanalys med hjälp av loggar.
Gå tillbaka till webbläsarsammanfattningen och välj Visa i loggar (analys).
Skärmen Loggar öppnas med en fråga för var och en av vyerna i panelen. Den första frågan visar varaktigheten för olika sidvisningar över tid.