Productietoepassingen profileren in Azure met Application Insights Profiler voor .NET
Het diagnosticeren van de prestatieproblemen van uw toepassing kan lastig zijn, met name bij het uitvoeren in een productieomgeving in de dynamische cloud. Trage reacties in uw toepassing kunnen worden veroorzaakt door infrastructuur, framework of toepassingscode die de aanvraag in de pijplijn verwerkt.
Met Application Insights Profiler voor .NET kunt u prestatietraceringen vastleggen, identificeren en weergeven voor uw toepassing die wordt uitgevoerd in Azure, ongeacht het scenario. Het traceringsproces van .NET Profiler vindt automatisch plaats, op schaal en heeft geen negatieve invloed op uw gebruikers. De .NET Profiler identificeert:
- De gemiddelde, snelste en langzaamste responstijden voor de webaanvragen die door uw klanten worden verzonden.
- Het 'hot'-codepad besteedt de meeste tijd aan het verwerken van een bepaalde webaanvraag.
Schakel profiler voor .NET in voor al uw Azure-toepassingen om gegevens te verzamelen met de volgende triggers:
- Samplingtrigger: Profiler wordt ongeveer één keer per uur voor twee minuten gestart.
- CPU-trigger: Start Profiler wanneer het CPU-gebruikspercentage hoger is dan 80 procent.
- Geheugentrigger: Start Profiler wanneer het geheugengebruik hoger is dan 80 procent.
Elk van deze triggers kan worden geconfigureerd, ingeschakeld of uitgeschakeld.
Samplingfrequentie en overhead
Profiler verzamelt standaard gedurende 30 seconden of gedurende perioden met een hoog CPU- of geheugengebruik gedurende 30 seconden actief traceringen. De traceringen per uur (ook wel steekproeven genoemd) zijn ideaal voor proactieve afstemming, terwijl de hoge CPU- en geheugentraceringen (triggers genoemd) nuttig zijn voor reactieve probleemoplossing.
Notitie
Wanneer Profiler actief wordt uitgevoerd en traceringen verzamelt, wordt doorgaans tussen de 5% en 15% van de cpu- en geheugenoverhead aan uw server toegevoegd.
Er zijn geen extra kosten verbonden aan het opslaan van gegevens die zijn vastgelegd door Profiler. De gegevens worden na 15 dagen automatisch verwijderd.
Ondersteund in .NET Profiler
Profiler werkt met .NET-toepassingen die zijn geïmplementeerd op de volgende Azure-services. Bekijk specifieke instructies voor het inschakelen van Profiler voor elk servicetype in de volgende koppelingen.
Rekenplatform | .NET (>= 4.6) | .NET Core |
---|---|---|
Azure App Service | Ja | Ja |
Virtuele Azure-machines en virtuele-machineschaalsets voor Windows | Ja | Ja |
Virtuele Azure-machines en virtuele-machineschaalsets voor Linux | Nr. | Ja |
Azure Cloud Services | Ja | Ja |
Azure Container Instances voor Windows | Nr. | Ja |
Azure Container Instances voor Linux | Nr. | Ja |
Kubernetes | Nr. | Ja |
Azure Functions | Ja | Ja |
Azure Service Fabric | Ja | Ja |
Notitie
U kunt ook De Java Profiler voor Azure Monitor Application Insights gebruiken, momenteel in preview.
Als u profiler voor .NET hebt ingeschakeld, maar geen traceringen ziet, raadpleegt u de gids voor probleemoplossing.
Beperkingen
- Gegevensretentie: de standaardperiode voor gegevensretentie is vijf dagen.
- Web-apps profileren:
- Hoewel u de .NET Profiler zonder extra kosten kunt gebruiken, moet uw web-app minimaal worden gehost in de basic-laag van de functie Web Apps van Azure-app Service.
- U kunt slechts één profiler aan elke web-app koppelen.
- .NET Profiler in Linux wordt alleen ondersteund in windows-web-apps.
Volgende stappen
Meer informatie over het inschakelen van .NET Profiler in uw Azure-service: