Profilera produktionsprogram i Azure med Application Insights Profiler för .NET
Det kan vara svårt att diagnostisera programmets prestandaproblem, särskilt när du kör i en produktionsmiljö i det dynamiska molnet. Långsamma svar i ditt program kan orsakas av infrastruktur, ramverk eller programkod som hanterar begäran i pipelinen.
Med Application Insights Profiler för .NET kan du samla in, identifiera och visa prestandaspårningar för ditt program som körs i Azure, oavsett scenario. Spårningsprocessen för .NET Profiler sker automatiskt i stor skala och påverkar inte användarna negativt. .NET Profiler identifierar:
- Medianvärde, snabbaste och långsammaste svarstid för varje webbförfrågan dina kunder gör.
- Kodsökvägen "frekvent" ägnar mest tid till att hantera en viss webbbegäran.
Aktivera Profiler för .NET i alla dina Azure-program för att samla in data med följande utlösare:
- Samplingsutlösare: Startar Profiler slumpmässigt ungefär en gång i timmen i två minuter.
- CPU-utlösare: Startar Profiler när cpu-användningsprocenten är över 80 procent.
- Minnesutlösare: Startar Profiler när minnesanvändningen är över 80 procent.
Var och en av dessa utlösare kan konfigureras , aktiveras eller inaktiveras.
Samplingsfrekvens och omkostnader
Profiler samlar som standard aktivt in spårningar varje timme i 30 sekunder eller under perioder med hög CPU- eller minnesanvändning i 30 sekunder. Spårningar varje timme (kallas sampling) är bra för proaktiv justering, medan höga CPU- och minnesspårningar (kallas utlösare) är användbara för reaktiv felsökning.
Kommentar
När Profiler aktivt kör och samlar in spårningar lägger det vanligtvis till mellan 5 och 15 % av processor- och minneskostnaderna till servern.
Det finns ingen extra kostnad för att lagra data som samlas in av Profiler. Data tas bort automatiskt efter 15 dagar.
Stöds i .NET Profiler
Profiler fungerar med .NET-program som distribueras på följande Azure-tjänster. Visa specifika instruktioner för att aktivera Profiler för varje tjänsttyp i följande länkar.
Beräkningsplattform | .NET (>= 4.6) | .NET Core |
---|---|---|
Azure App Service | Ja | Ja |
Skalningsuppsättningar för virtuella Azure-datorer och virtuella datorer för Windows | Ja | Ja |
Skalningsuppsättningar för virtuella Azure-datorer och virtuella datorer för Linux | Nej | Ja |
Azure Cloud Services | Ja | Ja |
Azure Container Instances för Windows | Nej | Ja |
Azure Container Instances för Linux | Nej | Ja |
Kubernetes | Nej | Ja |
Azure Functions | Ja | Ja |
Azure Service Fabric | Ja | Ja |
Kommentar
Du kan också använda Java Profiler för Azure Monitor Application Insights, för närvarande i förhandsversion.
Om du har aktiverat Profiler för .NET men inte ser spårningar kan du läsa felsökningsguiden.
Begränsningar
- Datakvarhållning: Standardperioden för datakvarhållning är fem dagar.
- Profilering av webbappar:
- Även om du kan använda .NET Profiler utan extra kostnad måste webbappen finnas på den grundläggande nivån för funktionen Web Apps i Azure App Service, åtminstone.
- Du kan bara koppla en profilerare till varje webbapp.
- .NET Profiler på Linux stöds endast i Windows-baserade webbappar.
Nästa steg
Lär dig hur du aktiverar .NET Profiler på din Azure-tjänst: