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: