Profila le applicazioni di produzione in Azure con Application Insights Profiler per .NET
La diagnosi dei problemi di prestazioni dell'applicazione può essere difficile, soprattutto quando si esegue in un ambiente di produzione nel cloud dinamico. Le risposte lente nell'applicazione potrebbero essere causate dall'infrastruttura, dal framework o dal codice dell'applicazione che gestisce la richiesta nella pipeline.
Con Application Insights Profiler per .NET è possibile acquisire, identificare e visualizzare le tracce delle prestazioni per l'applicazione in esecuzione in Azure, indipendentemente dallo scenario. Il processo di traccia di .NET Profiler viene eseguito automaticamente, su larga scala e non influisce negativamente sugli utenti. Il profiler .NET identifica:
- I tempi di risposta medi, più veloci e più lenti per ogni richiesta Web effettuata dai tuoi clienti.
- Il percorso del codice "frequente" che impiega più tempo per gestire una determinata richiesta Web.
Abilitare Profiler per .NET in tutte le applicazioni Azure per raccogliere dati con i trigger seguenti:
- Trigger di campionamento: avvia Profiler in modo casuale circa una volta all'ora per due minuti.
- Trigger CPU: avvia Profiler quando la percentuale di utilizzo della CPU è superiore all'80%.
- Trigger di memoria: avvia Profiler quando l'utilizzo della memoria supera l'80%.
Ognuno di questi trigger può essere configurato, abilitato o disabilitato.
Frequenza di campionamento e sovraccarico
Per impostazione predefinita, Profiler raccoglie attivamente le tracce ogni ora per 30 secondi o durante periodi di utilizzo elevato della CPU o della memoria per 30 secondi. Le tracce orarie (chiamate campionamento) sono ideali per l'ottimizzazione proattiva, mentre le tracce di memoria e CPU elevate (denominate trigger) sono utili per la risoluzione dei problemi reattiva.
Nota
Quando Application Insights Profiler per .NET è in esecuzione e raccoglie attivamente tracce, in genere aggiunge tra il 5% e il 15% del sovraccarico di CPU e memoria al server.
Non sono previsti costi aggiuntivi per l'archiviazione dei dati acquisiti da .NET Profiler. I dati vengono eliminati automaticamente dopo 15 giorni.
Supportato in .NET Profiler
Il profiler funziona con le applicazioni .NET distribuite nei servizi di Azure seguenti. Visualizzare le istruzioni specifiche nei seguenti link per abilitare Profiler per ciascun tipo di servizio.
Piattaforma di calcolo | .NET (>= 4.6) | .NET Core |
---|---|---|
Servizio app di Azure | Sì | Sì |
Macchine virtuali di Microsoft Azure e set di scalabilità di macchine virtuali per Windows | Sì | Sì |
Macchine virtuali di Microsoft Azure e set di scalabilità di macchine virtuali per Linux | No | Sì |
Servizi cloud di Azure | Sì | Sì |
Istanze di Azure Container per Windows | No | Sì |
Istanze di Azure Container per Linux | No | Sì |
Kubernetes | No | Sì |
Funzioni di Azure | Sì | Sì |
Azure Service Fabric | Sì | Sì |
Nota
È anche possibile usare il Profiler Java per Application Insights di Monitoraggio di Azure, attualmente in anteprima.
Se profiler è stato abilitato per .NET ma non vengono visualizzate tracce, vedere la guida alla risoluzione dei problemi.
Limiti
- Conservazione dati: il periodo di conservazione dati predefinito è di cinque giorni.
- App web di profilazione:
- Anche se è possibile usare .NET Profiler senza costi aggiuntivi, l'app Web deve essere ospitata nel livello di base della funzionalità di App Web del servizio app Azure, almeno.
- È possibile collegare un solo profiler a ogni app Web.
- .NET Profiler in Linux è supportato solo nelle app Web basate su Windows.
Passaggi successivi
Informazioni su come abilitare .NET Profiler nel servizio di Azure: