Profilare le applicazioni di produzione in Azure con Application Insights Profiler
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 è possibile acquisire, identificare e visualizzare le tracce delle prestazioni per l'applicazione in esecuzione in Azure, indipendentemente dallo scenario. Il processo di traccia del profiler viene eseguito automaticamente, su larga scala e non influisce negativamente sugli utenti. Il profiler 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 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
Profiler viene eseguito in modo casuale per due minuti all'ora in ogni macchina virtuale che ospita applicazioni con Profiler abilitato.
Nota
Quando Profiler viene eseguito attivamente e raccoglie i dati per l'analisi, in genere genera un incremento tra il 5% e il 15% del sovraccarico della CPU e della memoria del server.
Non sono previsti costi aggiuntivi per l'archiviazione dei dati acquisiti da Profiler. I dati vengono eliminati automaticamente dopo 15 giorni.
Supportato in 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 è abilitato ma non vengono visualizzate analisi, vedere la Guida alla risoluzione dei problemi..
Limiti
- Conservazione dati: il periodo di conservazione dati predefinito è di cinque giorni.
- App web di profilazione:
- Sebbene sia è possibile usare Profiler senza costi aggiuntivi, l'app Web deve essere ospitata nel livello di base della funzionalità App Web del servizio app di Azure, almeno.
- È possibile collegare un solo profiler a ogni app Web.
- Profiler in Linux è supportato solo nelle app Web basate su Windows.
Passaggi successivi
Informazioni su come abilitare Profiler nel servizio di Azure: