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" 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 supera l'80%.
  • Trigger di memoria: avvia Profiler quando l'utilizzo della memoria supera l'80%.

Ognuno di questi trigger può essere configurato, abilitato o disabilitato.

Overhead e algoritmo di campionamento

Profiler esegue in modo casuale due minuti all'ora in ogni macchina virtuale che ospita applicazioni con Profiler abilitato. Quando è in esecuzione, Profiler comporta un sovraccarico della CPU del server compreso tra il 5% e il 15%.

Supportato in Profiler

Profiler funziona con le applicazioni .NET distribuite nei servizi di Azure seguenti. Visualizzare istruzioni specifiche per abilitare Profiler per ogni tipo di servizio nei collegamenti seguenti.

Piattaforma di calcolo .NET (>= 4.6) .NET Core
Servizio app di Azure
Azure Macchine virtuali e set di scalabilità di macchine virtuali per Windows
Azure Macchine virtuali e set di scalabilità di macchine virtuali per Linux No
Servizi cloud di Azure
Istanze di Azure Container per Windows No
Istanze di Azure Container per Linux No
Kubernetes No
Funzioni di Azure
Azure Service Fabric

Nota

È anche possibile usare Java Profiler per Application Insights di Monitoraggio di Azure, attualmente in anteprima.

Se profiler è stato abilitato ma non vengono visualizzate tracce, vedere la guida alla risoluzione dei problemi.

Limiti

  • Conservazione dei dati: il periodo di conservazione dei dati predefinito è di cinque giorni.
  • Profilatura di app Web:
    • Anche se è possibile usare 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.

Passaggi successivi

Informazioni su come abilitare Profiler nel servizio di Azure: