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 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 .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
Macchine virtuali di Microsoft Azure e set di scalabilità di macchine virtuali per Windows
Macchine virtuali di Microsoft Azure 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 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: