Condividi tramite


Risolvere i problemi di prestazioni delle macchine virtuali Windows usando lo strumento dell'interfaccia della riga di comando di Diagnostica prestazioni (PerfInsights)

L'estensione Diagnostica prestazioni (PerfInsights) è uno strumento di diagnostica self-help che raccoglie e analizza i dati di diagnostica e fornisce un report che consente di 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 in corso con dati più approfonditi, informazioni dettagliate e raccomandazioni 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, eseguire Diagnostica prestazioni.

Scenari di risoluzione dei problemi supportati

È possibile usare Diagnostica prestazioni per risolvere i vari scenari. Le sezioni seguenti descrivono scenari comuni per l'uso della diagnostica delle prestazioni continua e su richiesta per identificare e risolvere i problemi di prestazioni. Per un confronto tra diagnostica delle prestazioni continua e su richiesta, 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 incluso automaticamente in ognuno degli 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 vengono raccolte da 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
Informazioni di sistema
Mappa dei volumi
Mappa del disco
Attività in esecuzione
Contatori di affidabilità dell'archiviazione
Informazioni sull'archiviazione
Output Fsutil
Filtra le informazioni sul driver
Output Netstat
Configurazione di rete
Configurazione firewall
Configurazione di SQL Server
Tracce di diagnostica delle prestazioni *
Traccia del contatore delle prestazioni **
Traccia contatore SMB **
Traccia contatori SQL Server **
Traccia Xperf
Traccia StorPort
Traccia di rete
Traccia benchmark Diskspd ***

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 inoltre disponibili collegamenti di riferimento alla documentazione contenente altre informazioni sulla ricerca e/o la raccomandazione.
  • Livello di impatto: rappresenta il potenziale per avere un impatto sulle prestazioni.

Attualmente sono supportate le seguenti categorie di regole:

  • Elevato utilizzo 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 articoli specifici della Knowledge Base (KB) non sono installati.
  • 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 le regole. All'account NT AUTHORITY\SYSTEM deve essere concessa l'autorizzazione Visualizza stato server e l'autorizzazione Connetti SQL per ogni istanza, altrimenti PerfInsights non sarà in grado di connettersi a SQL Server e il report PerfInsights non visualizzerà alcuna informazione correlata 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:

  1. Scarica PerfInsights.zip.

  2. 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.

                                 Screenshot delle proprietà di PerfInsights, con Sblocca evidenziato.                                           

  3. Espandere il file PerfInsights.zip compresso nell'unità temporanea (per impostazione predefinita, si tratta in genere dell'unità D).

  4. 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
    

                                 Screenshot dell'output della riga di comando di 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
    

    Ecco alcuni 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 continua delle prestazioni, 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 dei contatori 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 dei risultati 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.

                             Screenshot della scheda Risultati nella scheda Panoramica del rapporto PerfInsights.                                           

                             Screenshot della scheda Risultati nella scheda Archiviazione del rapporto PerfInsights.                                           

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):

                             Screenshot della sezione della mappa del disco nella scheda Risultati del rapporto PerfInsights.                                           

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:

                             Screenshot della sezione della mappa del volume nella scheda Risultati del rapporto PerfInsights.                                           

Scheda SQL

Se la macchina virtuale di destinazione ospita istanze di SQL Server, nel report viene visualizzata un'altra scheda denominata SQL:

                             Screenshot della scheda SQL e delle sottoschede sottostanti.                                           

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).

                             Screenshot delle informazioni sui file modeldev e modellog.                                           

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, dischi 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:

                             Screenshot del messaggio di esempio dal supporto Microsoft.                                           

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.