Ottimizzazione delle impostazioni del profiler

La finestra Strumenti di diagnostica e Profiler prestazioni in Visual Studio ha molte impostazioni diverse che influiscono sulle prestazioni complessive degli strumenti. La modifica di alcune impostazioni può causare l'esecuzione rapida dell'analisi o causare tempi di attesa aggiuntivi durante l'elaborazione dei risultati negli strumenti. Di seguito è riportato un riepilogo di determinate impostazioni e il relativo impatto sulle prestazioni.

Impostazioni simboli

Le impostazioni dei simboli disponibili nelle opzioni del debugger (Simboli di opzioni > di debug > o Strumenti > Opzioni > debug > simboli) hanno un impatto significativo sul tempo necessario per generare i risultati negli strumenti. L'abilitazione dei server di simboli o l'uso del _NT_SYMBOL_PATH fa sì che il profiler richieda i simboli per ogni modulo caricato in un report. Attualmente, il profiler carica sempre automaticamente tutti i simboli indipendentemente dalla preferenza di caricamento automatico dei simboli.

Symbol loading page

Lo stato di avanzamento del caricamento dei simboli può essere visualizzato nella finestra Output sotto l'intestazione Strumenti di diagnostica.

Symbol loading progress

Una volta scaricati, i simboli vengono memorizzati nella cache, che velocizzano l'analisi futura, ma richiedono comunque il caricamento e l'analisi dei file. Se il caricamento dei simboli rallenta l'analisi, provare a disattivare i server di simboli e cancellare la cache dei simboli. In alternativa, fare affidamento sui simboli compilati localmente per il progetto.

Mostra codice esterno

Molti degli strumenti all'interno della finestra Strumenti di diagnostica e Profiler prestazioni hanno un concetto di codice utente rispetto al codice esterno. Il codice utente è qualsiasi codice compilato dalla soluzione aperta o dall'area di lavoro aperta. Il codice esterno è qualsiasi altra cosa. Mantenendo disabilitata l'impostazione Mostra codice esterno o Mostra solo il codice abilitato, è possibile che gli strumenti aggregano codice esterno a un singolo frame di primo livello, riducendo notevolmente la quantità di elaborazione necessaria per visualizzare i risultati. In questo modo gli utenti possono vedere cosa è stato chiamato nel codice esterno che ha creato il rallentamento mantenendo i dati da elaborare almeno. Quando possibile, lasciare disabilitato Mostra codice esterno e assicurarsi di avere aperta la soluzione o l'area di lavoro per la diagsession che si sta analizzando.

Durata traccia

La profilatura di durate più piccole comporta meno dati, che è più veloce da analizzare. In genere è consigliabile provare a limitare le tracce a non più di cinque minuti di dati sulle prestazioni. Alcuni strumenti, ad esempio lo strumento Utilizzo CPU, consentono di sospendere la raccolta dati durante l'esecuzione dello strumento, in modo da limitare la quantità di dati raccolti allo scenario che si è interessati ad analizzare.

Frequenza di campionamento

Alcuni strumenti, ad esempio lo strumento Utilizzo CPU e lo strumento Di allocazione oggetti NET, consentono di regolare una frequenza di campionamento. L'aumento di questa frequenza di campionamento consente di misurare più precisamente, ma aumenta la quantità di dati generati. In genere, è consigliabile lasciare questa impostazione alla frequenza predefinita, a meno che non venga esaminato un problema specifico.

Diag Hub Properties Page

Diag Hub Properties Page

Impostare la cartella della raccolta

Il profiler di Visual Studio usa una directory scratch di raccolta per archiviare le tracce delle prestazioni prima che vengano salvate o rimosse. Per impostazione predefinita, il profiler usa la directory temporanea. Tuttavia, è possibile specificare una directory scratch diversa aprendo prima la finestra Strumenti di diagnostica (Debug>Windows>Mostra strumenti di diagnostica) e quindi scegliendo Seleziona strumenti> Impostazioni> Generale>Directory scratch.

Screenshot of profiler scratch directory.