Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Di Mike Rousos
Questo articolo elenca gli strumenti per la diagnosi dei problemi di prestazioni in ASP.NET Core.
Per informazioni su Blazor WebAssembly strumenti e contatori di diagnostica delle prestazioni, vedere strumenti di diagnostica degli strumenti per sviluppatori del browser ASP.NET Core Blazor WebAssembly e diagnostica della pipe degli eventi ASP.NET Core Blazor WebAssembly.
Strumenti di diagnostica di Visual Studio
Gli strumenti di profilatura e diagnostica integrati in Visual Studio sono un buon punto di partenza per iniziare a analizzare i problemi di prestazioni. Questi strumenti sono potenti e pratici da usare dall'ambiente di sviluppo di Visual Studio. Gli strumenti consentono l'analisi dell'utilizzo della CPU, dell'utilizzo della memoria e degli eventi di prestazioni nelle app core ASP.NET. Essere integrato rende facile la profilatura durante lo sviluppo.
Altre informazioni sono disponibili nella documentazione di Visual Studio.
Application Insights
Application Insights fornisce dati approfonditi sulle prestazioni per l'app. Application Insights raccoglie automaticamente i dati relativi a velocità di risposta, tassi di errore, tempi di risposta delle dipendenze e altro ancora. Application Insights supporta la registrazione di eventi personalizzati e metriche specifiche per l'app.
Azure Application Insights offre diversi modi per fornire informazioni dettagliate sulle app monitorate:
Mappa delle applicazioni: consente di individuare i colli di bottiglia delle prestazioni o gli hot spot degli errori in tutti i componenti delle app distribuite.
Esplora metriche di Azure è un componente del portale di Microsoft Azure che consente di tracciare grafici, correlare visivamente le tendenze e analizzare picchi e cali nei valori delle metriche.
Pannello Prestazioni nel portale di Application Insights:
- Mostra i dettagli delle prestazioni per diverse operazioni nell'app monitorata.
- Consente di esaminare più a fondo un'operazione singola per controllare tutte le parti e le dipendenze che contribuiscono a una durata prolungata.
- Il profiler può essere richiamato da qui per raccogliere tracce delle prestazioni su richiesta.
Azure Application Insights Profiler consente la profilatura regolare e su richiesta delle app .NET. Il portale di Azure mostra le tracce delle prestazioni acquisite con stack di chiamate e percorsi ad accesso frequente. I file di traccia possono anche essere scaricati per un'analisi più approfondita usando PerfView.
Application Insights può essere usato in un'ampia gamma di ambienti:
- Ottimizzato per il funzionamento in Azure.
- Funziona in produzione, sviluppo e gestione temporanea.
- Funziona in locale da Visual Studio o in altri ambienti di hosting.
Per altre informazioni sul monitoraggio basato su codice, vedere Application Insights per ASP.NET Core. Per altre informazioni sul monitoraggio senza codice, vedere Monitorare le prestazioni del servizio app di Azure.
PerfView
PerfView è uno strumento di analisi delle prestazioni creato dal team .NET specificamente per la diagnosi dei problemi di prestazioni di .NET. PerfView consente l'analisi dell'utilizzo della CPU, del comportamento di memoria e GC, degli eventi di prestazioni e dell'ora del clock wall.
Per altre informazioni su PerfView, vedere la guida dell'utente disponibile nello strumento o in GitHub.
Strumenti di Prestazioni di Windows
Windows Performance Toolkit (WPT) è costituito da due componenti: Windows Performance Recorder (WPR) e Windows Performance Analyzer (WPA). Gli strumenti producono profili di prestazioni approfonditi di sistemi operativi e app Windows. WPT offre modi più avanzati per visualizzare i dati, ma la raccolta dei dati è meno potente rispetto a quella di PerfView.
PerfCollect
Anche se PerfView è uno strumento di analisi delle prestazioni utile per gli scenari .NET, viene eseguito solo in Windows, quindi non è possibile usarlo per raccogliere tracce dalle app di ASP.NET Core in esecuzione in ambienti Linux.
PerfCollect è uno script bash che usa strumenti di profilatura Linux nativi (Perf e LTTng) per raccogliere tracce in Linux che possono essere analizzate da PerfView. PerfCollect è utile quando i problemi di prestazioni vengono visualizzati in ambienti Linux in cui Non è possibile usare direttamente PerfView. PerfCollect può invece raccogliere tracce da app .NET che vengono quindi analizzate in un computer Windows usando PerfView.
Altre informazioni su come installare e iniziare a usare PerfCollect sono disponibili in GitHub.
Altri strumenti di prestazioni di terze parti
Di seguito sono elencati alcuni strumenti di prestazioni di terze parti utili per l'analisi delle prestazioni delle applicazioni .NET.
- MiniProfiler
- dotTrace e dotMemory da JetBrains
- VTune di Intel