Risolvere i problemi di prestazioni delle macchine virtuali Windows usando lo strumento dell'interfaccia della riga di comando di Diagnostica prestazioni (PerfInsights)
Si applica a: ✔️ macchine virtuali di Windows
L'estensione Diagnostica prestazioni (PerfInsights) è uno strumento di diagnostica self-help che raccoglie e analizza i dati di diagnostica e fornisce un report per risolvere i problemi di prestazioni delle macchine virtuali Windows in Azure. Usare Diagnostica prestazioni per identificare e risolvere i problemi di prestazioni in una delle due modalità seguenti:
- La diagnostica continua (anteprima) raccoglie i dati a intervalli di cinque secondi e segnala informazioni dettagliate interattive sull'utilizzo elevato delle risorse ogni cinque minuti.
- La diagnostica su richiesta consente di risolvere un problema di prestazioni continuo con dati, informazioni dettagliate e consigli più approfonditi in base ai dati raccolti in un singolo momento.
Questo articolo illustra come scaricare l'estensione Diagnostica prestazioni nella macchina virtuale Windows ed eseguire lo strumento usando lo strumento dell'interfaccia della riga di comando. È anche possibile eseguire Diagnostica prestazioni dal portale e distribuire l'estensione Diagnostica prestazioni usando un modello di Resource Manager o PowerShell.
Se si verificano problemi di prestazioni con le macchine virtuali, prima di contattare il supporto tecnico, eseguire Diagnostica prestazioni.
Scenari di risoluzione dei problemi supportati
È possibile usare Diagnostica prestazioni per risolvere i problemi relativi a vari scenari. Le sezioni seguenti descrivono scenari comuni per l'uso della diagnostica delle prestazioni continue e on demand per identificare e risolvere i problemi di prestazioni. Per un confronto tra diagnostica delle prestazioni continue e on demand, vedere Informazioni dettagliate e report sulla diagnostica delle prestazioni
Nota
Per informazioni sull'uso di PerfInsights in un set di scalabilità di macchine virtuali di Azure, vedere PerfInsights e istanze di macchine virtuali del set di scalabilità.
Diagnostica continua
La diagnostica delle prestazioni continue consente di identificare l'utilizzo elevato delle risorse monitorando regolarmente la macchina virtuale per:
- Utilizzo elevato della CPU: rileva i periodi di utilizzo elevato della CPU e mostra i principali consumatori di utilizzo della CPU durante tali periodi.
- Utilizzo elevato della memoria: rileva i periodi di utilizzo elevato della memoria e mostra i principali consumatori di utilizzo della memoria durante tali periodi.
- Utilizzo elevato del disco: rileva i periodi di utilizzo elevato del disco sui dischi fisici e mostra i principali consumatori di utilizzo del disco durante tali periodi.
Diagnostica su richiesta
Analisi rapida
Questo scenario raccoglie la configurazione del disco e altre informazioni importanti, tra cui:
Registri eventi
Stato della rete per tutte le connessioni in entrata e in uscita
Impostazioni di configurazione della rete e del firewall
Elenco attività per tutte le applicazioni attualmente in esecuzione sul sistema
Impostazioni di configurazione del database di Microsoft SQL Server (se la VM è identificata come un server che esegue SQL Server)
Contatori di affidabilità dell'archiviazione
Importanti aggiornamenti rapidi di Windows
Driver filtro installati
Questa è una raccolta passiva di informazioni che non dovrebbe influenzare il sistema.
Nota
Questo scenario viene automaticamente incluso in tutti gli scenari seguenti.
Analisi comparativa
Questo scenario esegue il test di benchmark Diskspd (IOPS e MBPS) per tutte le unità collegate alla VM.
Nota
Questo scenario può influire sul sistema e non deve essere eseguito su un sistema di produzione live. Se necessario, eseguire questo scenario in una finestra di manutenzione dedicata per evitare problemi. Un aumento del carico di lavoro causato da un test di traccia o benchmark può influire negativamente sulle prestazioni della macchina virtuale.
Analisi di prestazioni
Questo scenario esegue una traccia del contatore delle prestazioni utilizzando i contatori specificati nel file RuleEngineConfig.json. Se la macchina virtuale viene identificata come un server che esegue SQL Server, viene eseguita una traccia del contatore delle prestazioni. A tale scopo, utilizza i contatori che si trovano nel file RuleEngineConfig.json. Questo scenario include anche i dati di diagnostica delle prestazioni.
Analisi dei file di Azure
Questo scenario esegue un'acquisizione speciale del contatore delle prestazioni insieme a un'analisi di rete. L'acquisizione include tutti i contatori delle condivisioni client Server Message Block (SMB). Di seguito sono riportati alcuni contatori chiave delle prestazioni della condivisione client SMB che fanno parte dell'acquisizione:
Tipo | Contatore condivisioni client SMB |
---|---|
IOPS | Richieste dati/sec |
Richieste di lettura/sec | |
Richieste di scrittura/sec | |
Latenza | Media sec/Richiesta dati |
Media sec/Lettura | |
Media sec/Scrittura | |
Dimensione IO | Media richiesta di byte/dati |
Media Byte/Lettura | |
Media Byte/Scrittura | |
Velocità effettiva | Byte dati/sec |
Lettura byte/sec | |
Scrittura byte/sec | |
Lunghezza coda | Media Lettura della lunghezza della coda |
Media Scrittura della lunghezza della coda | |
Media Lunghezza coda dati |
Analisi avanzata delle prestazioni
Quando si esegue un'analisi avanzata delle prestazioni, si selezionano le tracce da eseguire in parallelo. Se lo desideri, puoi eseguirli tutti (Performance Counter, Xperf, Network e StorPort).
Nota
Questo scenario può influire sul sistema e non deve essere eseguito su un sistema di produzione live. Se necessario, eseguire questo scenario in una finestra di manutenzione dedicata per evitare problemi. Un aumento del carico di lavoro causato da un test di traccia o benchmark può influire negativamente sulle prestazioni della macchina virtuale.
Quali informazioni raccoglie Diagnostica prestazioni in Windows?
Vengono raccolte informazioni sulla configurazione di macchine virtuali Windows, dischi o pool di archiviazione, contatori delle prestazioni, registri e varie tracce. Dipende dallo scenario di prestazioni in uso. La tabella seguente fornisce i dettagli:
Dati raccolti | Rapida analisi delle prestazioni | Analisi comparativa | Analisi di prestazioni | Analisi dei file di Azure | Analisi avanzata delle prestazioni |
---|---|---|---|---|---|
Informazioni dai registri eventi | Sì | Sì | Sì | Sì | Sì |
Informazioni di sistema | Sì | Sì | Sì | Sì | Sì |
Mappa dei volumi | Sì | Sì | Sì | Sì | Sì |
Mappa del disco | Sì | Sì | Sì | Sì | Sì |
Attività in esecuzione | Sì | Sì | Sì | Sì | Sì |
Contatori di affidabilità dell'archiviazione | Sì | Sì | Sì | Sì | Sì |
Informazioni sull'archiviazione | Sì | Sì | Sì | Sì | Sì |
Output Fsutil | Sì | Sì | Sì | Sì | Sì |
Filtra le informazioni sul driver | Sì | Sì | Sì | Sì | Sì |
Output Netstat | Sì | Sì | Sì | Sì | Sì |
Configurazione di rete | Sì | Sì | Sì | Sì | Sì |
Configurazione firewall | Sì | Sì | Sì | Sì | Sì |
Configurazione di SQL Server | Sì | Sì | Sì | Sì | Sì |
Tracce di diagnostica delle prestazioni * | Sì | Sì | Sì | Sì | Sì |
Traccia del contatore delle prestazioni ** | Sì | Sì | |||
Traccia contatore SMB ** | Sì | ||||
Traccia contatori SQL Server ** | Sì | Sì | |||
Traccia Xperf | Sì | ||||
Traccia StorPort | Sì | ||||
Traccia di rete | Sì | Sì | |||
Traccia benchmark Diskspd *** | Sì | ||||
Traccia diagnostica delle prestazioni (*)
Esegue un motore basato su regole in background per raccogliere dati e diagnosticare problemi di prestazioni in corso. Le regole vengono visualizzate nel report nella scheda Categoria -> Ricerca.
Ogni regola è composta dai seguenti elementi:
- Ricerca in corso: descrizione del risultato.
- Raccomandazione: raccomandazione su quali azioni potrebbero essere intraprese per il risultato. Sono disponibili anche collegamenti di riferimento alla documentazione contenente altre informazioni sulla ricerca e/o sulla raccomandazione.
- Livello di impatto: rappresenta il potenziale per avere un impatto sulle prestazioni.
Attualmente sono supportate le seguenti categorie di regole:
- Utilizzo elevato delle risorse:
- Utilizzo elevato della CPU: rileva i periodi di utilizzo elevato della CPU e mostra i principali consumatori di utilizzo della CPU durante tali periodi.
- Utilizzo elevato della memoria: rileva i periodi di utilizzo elevato della memoria e mostra i principali consumatori di utilizzo della memoria durante tali periodi.
- Utilizzo elevato del disco: rileva i periodi di utilizzo elevato del disco sui dischi fisici e mostra i principali consumatori di utilizzo del disco durante tali periodi.
- Utilizzo del disco ad alta risoluzione: mostra IOPS, velocità effettiva e metriche di latenza I/O per 50 millisecondi per ogni disco fisico. Aiuta a identificare rapidamente i periodi di limitazione del disco.
- Knowledge Base: rileva se non sono installati articoli specifici della Knowledge Base (KB).
- Disco: rileva impostazioni di configurazione del disco specifiche.
- SQL: rileva impostazioni SQL specifiche.
- Rete: rileva impostazioni di rete specifiche.
- Cluster di server: rileva impostazioni di configurazione del cluster di server specifiche.
- Sistema: rileva specifiche impostazioni di configurazione del sistema.
- CLR: rileva lunghe pause di Garbage Collection sui processi gestiti.
Nota
Attualmente sono supportate le versioni di Windows che includono .NET Framework 4.5 o versioni successive.
Traccia del contatore delle prestazioni (**)
Raccoglie i contatori delle prestazioni seguenti:
- \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk e \LogicalDisk
- \Cache\Dirty Pages, \Cache\Lazy Write Flush/sec, \Server\Pool Non di paging, Errori e \Server\Pool Paged Errori
- Contatori selezionati in \Network Interface, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segments, \Network Adapter, \WFPv4\Packets, \WFPv6\Packets, \UDPv4\Datagrams, \UDPv6\Datagrams , \TCPv4\Connection, \TCPv6\Connection, \Network QoS Policy\Packets, \Per Processor Network Interface Card Activity e \Microsoft Winsock BSP
Per le istanze di SQL Server
- \SQL Server:Gestione buffer, \SQLServer:Statistiche pool di risorse e \SQLServer:Statistiche SQL\
- \SQLServer:Blocchi, \SQLServer:Generale, Statistiche
- \SQLServer:Metodi di accesso
Per file di Azure
\Condivisioni client SMB
Traccia benchmark Diskspd (***)
Test del carico di lavoro di I/O Diskspd (disco del sistema operativo [scrittura] e unità del pool [lettura/scrittura])
Eseguire Diagnostica prestazioni nella macchina virtuale usando lo strumento dell'interfaccia della riga di comando
Cosa devo sapere prima di eseguire lo strumento?
Requisiti relativi allo strumento
Questo strumento deve essere eseguito sulla macchina virtuale che presenta il problema di prestazioni.
Sono supportati i seguenti sistemi operativi:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows 11
- Windows 10
Accesso a SQL Server
Se nella macchina virtuale sono installate istanze di SQL Server, PerfInsights usa l'account NT AUTHORITY\SYSTEM per accedere alle istanze di SQL Server per raccogliere informazioni di configurazione ed eseguire regole. All'account NT AUTHORITY\SYSTEM deve essere concessa l'autorizzazione View Server State e l'autorizzazione Connect SQL per ogni istanza. In caso contrario, PerfInsights non sarà in grado di connettersi a SQL Server e il report PerfInsights non visualizzerà informazioni correlate a SQL Server.
Possibili problemi quando si esegue lo strumento su macchine virtuali di produzione
Per lo scenario di benchmarking o lo scenario "Analisi avanzata delle prestazioni" configurato per l'uso di Xperf o Diskspd, lo strumento potrebbe influire negativamente sulle prestazioni della macchina virtuale. Questi scenari non devono essere eseguiti in un ambiente di produzione attivo.
Per lo scenario di benchmarking o lo scenario "Analisi avanzata delle prestazioni" configurato per l'utilizzo di Diskspd, assicurarsi che nessun'altra attività in background interferisca con il carico di lavoro di I/O.
Per impostazione predefinita, lo strumento utilizza l'unità di archiviazione temporanea per raccogliere i dati. Se la traccia rimane abilitata per un periodo di tempo più lungo, la quantità di dati raccolti potrebbe essere rilevante. Ciò può ridurre la disponibilità di spazio sul disco temporaneo e può quindi influire su qualsiasi applicazione che si basa su questa unità.
Come si esegue PerfInsights?
È possibile eseguire PerfInsights in una macchina virtuale installando Estensione VM di Azure Performance Diagnostics. Puoi anche eseguirlo come strumento autonomo.
Installare ed eseguire PerfInsights dal portale di Azure
Per altre informazioni su questa opzione, vedere Installare l'estensione della macchina virtuale di Diagnostica delle prestazioni di Azure.
Eseguire PerfInsights in modalità autonoma
Per eseguire lo strumento PerfInsights, attenersi alla seguente procedura:
Scarica PerfInsights.zip.
Sblocca il file PerfInsights.zip. Per fare ciò, fai clic con il pulsante destro del mouse sul file PerfInsights.zip e seleziona Proprietà. Nella scheda Generale, seleziona Sblocca, quindi seleziona OK. Questa azione garantisce che lo strumento venga eseguito senza altre richieste di sicurezza.
Espandere il file PerfInsights.zip compresso nell'unità temporanea (per impostazione predefinita, si tratta in genere dell'unità D).
Apri il prompt dei comandi di Windows come amministratore, quindi esegui PerfInsights.exe per visualizzare i parametri della riga di comando disponibili.
cd <the path of PerfInsights folder> PerfInsights
La sintassi di base per l'esecuzione di scenari PerfInsights è:
PerfInsights /run <ScenarioName> [AdditionalOptions]
Cercare tutti gli scenari e le opzioni disponibili usando il comando /list :
PerfInsights /list
Di seguito sono riportati esempi di come usare lo strumento dell'interfaccia della riga di comando per eseguire i vari scenari di risoluzione dei problemi:
Eseguire la diagnostica delle prestazioni continue:
PerfInsights /run always on /sau
Per arrestare la diagnostica delle prestazioni continue, premere CTRL+C o chiudere il terminale.
Eseguire lo scenario di analisi delle prestazioni per 5 minuti:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Eseguire lo scenario avanzato con le tracce del contatore Xperf e Performance per 5 minuti:
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Eseguire lo scenario di benchmark per 5 minuti:
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Eseguire lo scenario di analisi delle prestazioni per 5 minuti e caricare il file ZIP del risultato nell'account di archiviazione:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
Nota
Prima di eseguire uno scenario, PerfInsights chiede all'utente di accettare di condividere le informazioni diagnostiche e di accettare l'EULA. Utilizzare l'opzione /AcceptDisclaimerAndShareDiagnostics per ignorare queste richieste.
Se si dispone di un ticket di supporto attivo con Microsoft e si sta eseguendo PerfInsights in base alla richiesta del tecnico di supporto con cui si sta lavorando, assicurarsi di fornire il numero del ticket di supporto utilizzando l'opzione /sr.
Per impostazione predefinita, PerfInsights proverà ad aggiornarsi all'ultima versione, se disponibile. Utilizzare il parametro /SkipAutoUpdate o /sau per ignorare l'aggiornamento automatico.
Se l'opzione di durata /d non è specificata, PerfInsights richiederà di riprodurre il problema durante l'esecuzione di vmslow, azurefiles e scenari avanzati.
Al termine delle tracce o delle operazioni, nella stessa cartella di PerfInsights viene visualizzato un nuovo file. Il nome del file è PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. È possibile inviare questo file all'agente dell'assistenza per l'analisi o aprire il rapporto all'interno del file zip per rivedere i risultati e raccomandazioni.
Esamina il rapporto di diagnostica
All'interno del file PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip è possibile trovare un report HTML che descrive in dettaglio i risultati di PerfInsights. Per esaminare il report, espandere il file PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip, quindi aprire il file PerfInsights Report.html.
Selezionare la scheda Risultati.
Nota
I risultati classificati come urgenti sono problemi noti che potrebbero causare problemi di prestazioni. I risultati classificati come medi rappresentano configurazioni non ottimali che non causano necessariamente problemi di prestazioni. I risultati classificati come non urgenti sono solo informativi.
Esaminare le raccomandazioni e i collegamenti per tutti i risultati di livello urgente e medio. Informazioni su come possono influire sulle prestazioni e sulle migliori pratiche per le configurazioni ottimizzate per le prestazioni.
Scheda Archiviazione
La sezione Risultati mostra vari risultati e consigli relativi all'archiviazione.
Le sezioni Mappa disco e Mappa volume descrivono come i volumi logici ei dischi fisici sono correlati tra loro.
Nella prospettiva del disco fisico (mappa disco), la tabella mostra tutti i volumi logici in esecuzione sul disco. Nell'esempio seguente, PhysicalDrive2 esegue due volumi logici creati su più partizioni (J e H):
Nella prospettiva del volume (mappa del volume), le tabelle mostrano tutti i dischi fisici sotto ciascun volume logico. Si noti che per i dischi RAID/dinamici è possibile eseguire un volume logico su più dischi fisici. Nell'esempio seguente, C:\mount è un punto di montaggio configurato come SpannedDisk sui dischi fisici 2 e 3:
Scheda SQL
Se la macchina virtuale di destinazione ospita istanze di SQL Server, nel report viene visualizzata un'altra scheda denominata SQL:
Questa sezione contiene una scheda Risultati e schede aggiuntive per ciascuna delle istanze di SQL Server ospitate sulla VM.
La scheda Risultati contiene un elenco di tutti i problemi di prestazioni relativi a SQL rilevati, insieme ai suggerimenti.
Nell'esempio seguente, viene visualizzato PhysicalDrive0 (che esegue l'unità C). Questo perché entrambi i file modeldev e modellog si trovano sull'unità C e sono di tipi diversi (come file di dati e log delle transazioni, rispettivamente).
Le schede per istanze specifiche di SQL Server contengono una sezione generale che visualizza le informazioni di base sull'istanza selezionata. Le schede contengono anche più sezioni per informazioni avanzate, incluse impostazioni, configurazioni e opzioni utente.
Scheda diagnostica
La scheda Diagnostica contiene informazioni sui principali consumer di CPU, disco e memoria nel computer durante l'esecuzione di Diagnostica prestazioni. È inoltre possibile trovare informazioni sulle patch critiche che potrebbero mancare nel sistema, l'elenco delle attività e importanti eventi di sistema.
Riferimenti agli strumenti esterni utilizzati
Diskspd
Diskspd è un generatore di carico di archiviazione e uno strumento di test delle prestazioni di Microsoft. Per ulteriori informazioni, vedere Diskspd.
Xperf
Xperf è uno strumento da riga di comando per acquisire tracce da Windows Performance Toolkit. Per ulteriori informazioni, vedere Windows Performance Toolkit – Xperf.
Passaggi successivi
È possibile caricare i log e i report di diagnostica al supporto tecnico Microsoft per un'ulteriore revisione. L'assistenza potrebbe richiedere la trasmissione dell'output generato da PerfInsights per facilitare il processo di risoluzione dei problemi.
Lo screenshot seguente mostra un messaggio simile a quello che potresti ricevere:
Seguire le istruzioni nel messaggio per accedere all'area di lavoro di trasferimento file. Per maggiore sicurezza, devi cambiare la tua password al primo utilizzo.
Dopo l'accesso, verrà visualizzata una finestra di dialogo per caricare il file PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip raccolto da PerfInsights.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.