Elenco di controllo: Misurazione delle prestazioni in Hyper-V
Anche se la maggior parte dei principi di analisi delle prestazioni di un sistema operativo guest installato in una macchina virtuale Hyper-V è identica all'analisi delle prestazioni di un sistema operativo installato in un computer fisico, molti dei metodi di raccolta sono diversi. Le sezioni seguenti devono essere usate come riferimento rapido quando si valutano le prestazioni della soluzione BizTalk Server in esecuzione in un sistema operativo guest installato in una macchina virtuale Hyper-V.
Misurazione delle prestazioni di I/O del disco
Usare i contatori del monitoraggio delle prestazioni seguenti per misurare le prestazioni di I/O del disco in un sistema operativo guest installato in una macchina virtuale Hyper-V:
Passaggio | Riferimento |
---|---|
Misurare la latenza del disco in un sistema operativo host Hyper-V : l'indicatore iniziale migliore delle prestazioni del disco in un sistema operativo host Hyper-V viene ottenuto usando i contatori di monitoraggio delle prestazioni "\Disco logico sec/Lettura" e "\Disco logico sec/Scrittura". Questi contatori di monitoraggio delle prestazioni misurano la quantità di tempo che le operazioni di lettura e scrittura richiedono per rispondere al sistema operativo. Come regola generale del personale, i tempi di risposta medi superiori a 15ms sono considerati sotto-ottimali. Come regola generale del personale, i tempi di risposta medi superiori a 15ms sono considerati sotto-ottimali. Ciò si basa sul tipico tempo di ricerca di un'unità disco RPM 7200 singola senza cache. L'uso dei contatori di monitoraggio delle prestazioni del disco logico rispetto al disco fisico è consigliato perché le applicazioni e i servizi Windows usano le unità logiche rappresentate come lettere di unità in cui il disco fisico (LUN) presentato al sistema operativo può essere costituito da più unità disco fisiche in una matrice di dischi. Usare la regola seguente quando si misura la latenza del disco nel sistema operativo host Hyper-V usando i contatori di monitoraggio delle prestazioni \Logical Disk(*)\Avg. Disco sec/Read o \Logical Disk(*)\Avg. Disk sec/Write performance monitor counters: Ciò si basa sul tipico tempo di ricerca di un'unità disco RPM 7200 singola senza cache. L'uso dei contatori di monitoraggio delle prestazioni del disco logico rispetto al disco fisico è consigliato perché le applicazioni e i servizi Windows usano le unità logiche rappresentate come lettere di unità in cui il disco fisico (LUN) presentato al sistema operativo può essere costituito da più unità disco fisiche in una matrice di dischi. Usare la regola seguente quando si misura la latenza del disco nel sistema operativo host Hyper-V usando i contatori di monitoraggio delle prestazioni \Logical Disk(*)\Avg. Disco sec/Read o \Logical Disk(*)\Avg. Disk sec/Write performance monitor counters: - 1ms a 15ms = Integro - 15ms a 25ms = Avviso o Monitoraggio - 26ms o superiore = Critico, le prestazioni saranno influenzate negativamente **Note:* I dischi fisici installati in un ambiente non virtualizzato offrono prestazioni migliori rispetto ai dischi a cui è possibile accedere tramite un sistema operativo host Hyper-V. Se le prestazioni del disco sono assolutamente critiche per le prestazioni complessive dell'applicazione, prendere in considerazione l'hosting dei dischi solo su hardware fisico. Nota: Quando si valutano le prestazioni di I/O del disco, assicurarsi di configurare il software antivirus per escludere l'analisi di tutte le partizioni del disco che vengono valutate. L'analisi antivirus introduce un sovraccarico che può influire negativamente sulle prestazioni e sulla deviazione dei risultati dei test. Misurare la latenza del disco nei sistemi operativi guest : i tempi di risposta dei dischi usati dai sistemi operativi guest possono essere misurati usando gli stessi contatori di monitoraggio delle prestazioni usati per misurare i tempi di risposta dei dischi usati dal sistema operativo host Hyper-V. |
Per altre informazioni sull'analisi delle prestazioni del disco, vedere le risorse seguenti: - "Sovraccarico delle prestazioni dell'esecuzione di SQL Server in Hyper-V" nel white paper "Esecuzione SQL Server 2008 in un ambiente Hyper-V - Procedure consigliate e considerazioni sulle prestazioni" - Escludere i problemi di Disk-Bound - SQL Server Procedure consigliate di I/O predeployment - Sezione "I/O Bottlenecks" nel white paper "Risoluzione dei problemi di prestazioni in SQL Server 2008" white paper - Come identificare un collo di bottiglia delle prestazioni del disco usando lo strumento Microsoft Server Performance Advisor (SPA) |
Misurazione delle prestazioni della memoria
Usare i contatori del monitoraggio delle prestazioni seguenti per misurare l'impatto della memoria disponibile sulle prestazioni di un sistema operativo guest installato in una macchina virtuale Hyper-V:
Passaggio | Riferimento |
---|---|
Misurare la memoria disponibile nel sistema operativo host Hyper-V : la quantità di memoria fisica disponibile per il sistema operativo host Hyper-V può essere determinata dal monitoraggio del contatore delle prestazioni "\Memory\Available MBytes" nel computer fisico. Questo contatore segnala la quantità di memoria fisica disponibile per il sistema operativo host. Usare le regole seguenti per la valutazione della memoria fisica disponibile per il sistema operativo host:
Misurare la memoria disponibile nel sistema operativo guest: la memoria disponibile per i sistemi operativi guest può essere misurata con gli stessi contatori del monitoraggio delle prestazioni usati per misurare la memoria disponibile per il sistema operativo host Hyper-V. |
Per altre informazioni sull'impatto della memoria fisica disponibile sulle prestazioni del server applicazioni, vedere l'articolo Exchange Server 2003, "Escludere Memory-Bound problemi". |
Misurazione delle prestazioni di rete
Hyper-V consente ai computer guest di condividere la stessa scheda di rete fisica. Anche se ciò consente di consolidare l'hardware, prestare attenzione a non saturazione dell'adattatore fisico. Usare i metodi seguenti per garantire l'integrità della rete usata dalle macchine virtuali Hyper-V:
Passaggio | Riferimento |
---|---|
Testare la latenza di rete | Eseguire il ping di ogni macchina virtuale per garantire una latenza di rete adeguata. Nelle reti dell'area locale si prevede di ricevere meno di 1ms di tempi di risposta. |
Test per la perdita di pacchetti | Usare l'utilità pathping.exe per testare la perdita di pacchetti tra macchine virtuali. Pathping.exe misura la perdita di pacchetti nella rete ed è disponibile con tutte le versioni di Windows da Windows 2000 Server. Pathping.exe invia un burst di 100 richieste ping a ogni nodo di rete e calcola il numero di ping restituiti. Nelle reti dell'area locale non deve essere presente alcuna perdita di richieste ping dall'utilità pathping.exe. |
Testare i trasferimenti di file di rete | Copiare un file da 100 MB tra macchine virtuali e misurare il tempo necessario per completare la copia. In una rete di 100Mbit (megabit) integro, un file da 100 MB (megabyte) deve essere copiato in 10 a 20 secondi. In una rete a 1Gbit integro, un file da 100 MB deve essere copiato in circa 3 a 5 secondi. I tempi di copia al di fuori di questi parametri sono indicativi di un problema di rete. Una causa comune dei trasferimenti di rete scarsa si verifica quando la scheda di rete ha "rilevato automaticamente" una rete half-duplex di 10 MB che impedisce alla scheda di rete di sfruttare al meglio la larghezza di banda disponibile. |
Misurare l'utilizzo della rete nel sistema operativo host Hyper-V | Usare i contatori del monitoraggio delle prestazioni seguenti per misurare l'utilizzo della rete nel sistema operativo host Hyper-V: \Interfaccia di rete(*)\Byte totale/sec : la percentuale di utilizzo della rete viene calcolata moltiplicando il totale byte/sec per convertirlo in bit, moltiplicare il risultato per 100, quindi suddividere la larghezza di banda corrente della scheda di rete. Usare le soglie seguenti per valutare l'utilizzo della larghezza di banda di rete: - Minore del 40% dell'interfaccia utilizzata = Integro - 41%-64% dell'interfaccia utilizzata = Monitoraggio o attenzione - 65-100% dell'interfaccia utilizzata = Critico, le prestazioni saranno influenzate negativamente \Interfaccia di rete(*)\Lunghezza coda di output: la lunghezza della coda di output misura il numero di thread in attesa nella scheda di rete. Se nella scheda di rete sono presenti più di 2 thread, la rete potrebbe essere un collo di bottiglia. Le cause comuni di questa situazione sono scarsa latenza di rete e/o tassi di collisione elevati nella rete. Usare le soglie seguenti per valutare la lunghezza della coda di output: - 0 = Integro - 1-2 = Monitorare o prestare attenzione - Maggiore di 2 = Critico, le prestazioni saranno influenzate negativamente. Assicurarsi che le schede di rete per tutti i computer (fisici e virtuali) nella soluzione siano configurate per usare lo stesso valore per l'unità di trasmissione massima (MTU). Per altre informazioni sulla configurazione del valore MTU, vedere Appendice A: parametri di configurazione TCP/IP. Se viene misurata una lunghezza di coda di output pari a 2 o più, è consigliabile aggiungere una o più schede di rete fisiche al computer fisico che ospita le macchine virtuali e associare le schede di rete usate dai sistemi operativi guest a queste schede di rete fisiche. |
Misurare l'utilizzo della rete nei sistemi operativi guest | Se una scheda di rete nella partizione radice Hyper-V è occupato come indicato dai contatori del monitoraggio delle prestazioni indicati in precedenza, prendere in considerazione l'uso del contatore delle prestazioni "\Hyper-V Rete virtuale Adapter(*)\Bytes/sec" per identificare quali schede di rete virtuale utilizzano la maggior parte dell'utilizzo della rete. |
Per altre informazioni sull'analisi delle prestazioni di rete, vedere Capitolo 15 - Misurazione delle prestazioni dell'applicazione .NET.
Misurazione delle prestazioni del processore
Usare i metodi seguenti per valutare le prestazioni del processore in un sistema operativo guest installato in una macchina virtuale Hyper-V:
Misurare l'utilizzo del processore del sistema operativo guest - In genere, le prestazioni del processore possono essere misurate usando il contatore di monitoraggio delle prestazioni "\Processor(*)\% Processor Time". Questo non è un contatore accurato per valutare l'utilizzo del processore di un sistema operativo guest, anche se perché Hyper-V misura e segnala questo valore rispetto al numero di processori allocati alla macchina virtuale. Se nel computer fisico sono allocati più processori per le macchine virtuali in esecuzione, il valore restituito da ogni sistema operativo guest per il contatore del monitoraggio delle prestazioni "\Processor(*)\% Processor Time" sarà basso, anche se l'utilizzo del processore è un collo di bottiglia. Ciò si verifica perché i processori virtuali usano i processori fisici in modo round robin. Ogni processore virtuale tenterà di allocare una quota di risorse di sistema complessive, quindi in un sistema processore fisico 4, ogni processore virtuale tenterà per impostazione predefinita di utilizzare il 25% delle risorse di sistema. Se vengono creati 8 processori virtuali, ciò significa che collettivamente i processori virtuali tenteranno di utilizzare il 200% della capacità della CPU del server. In questo caso, ogni processore virtuale segnala un basso utilizzo misurato dal contatore del monitoraggio delle prestazioni "\Processor(*)\% Processor Time" (rispetto al livello previsto) e il cambio di contesto eccessivo tra i processori virtuali comporterà prestazioni scarse per ogni macchina virtuale. In questo scenario, valutare la possibilità di ridurre il numero di processori virtuali allocati alle macchine virtuali Hyper-V nel sistema operativo host. Hyper-V fornisce oggetti prestazioni hypervisor per monitorare le prestazioni dei processori logici e virtuali. Un processore logico è correlato direttamente al numero di processori o core installati nel computer fisico. Ad esempio, 2 processori quad core installati nel computer fisico sono correlati a 8 processori logici. I processori virtuali sono ciò che le macchine virtuali usano effettivamente e tutte le esecuzioni nelle partizioni radice e figlio si verificano nei processori virtuali.
Hyper-V fornisce oggetti prestazioni hypervisor per monitorare le prestazioni dei processori logici e virtuali. Un processore logico è correlato direttamente al numero di processori o core installati nel computer fisico. Ad esempio, 2 processori quad core installati nel computer fisico sono correlati a 8 processori logici. I processori virtuali sono ciò che le macchine virtuali usano effettivamente e tutte le esecuzioni nelle partizioni radice e figlio si verificano nei processori virtuali.
Per misurare in modo accurato l'utilizzo del processore di un sistema operativo guest, usare il contatore del monitoraggio delle prestazioni "Processore logico Hyper-V Hypervisor (_Total)% Total Run Time" nel sistema operativo host Hyper-V. Usare le soglie seguenti per valutare l'utilizzo del processore del sistema operativo guest usando il contatore di monitoraggio delle prestazioni "Processore logico Hyper-V Hypervisor (_Total)% tempo di esecuzione totale":
Meno del 60% consumato = Integro
60% - 89% utilizzato = Monitoraggio o cautela
90% - 100% utilizzato = Critico, le prestazioni saranno influenzate negativamente
Per risolvere i problemi relativi alle prestazioni del processore dei sistemi operativi guest in un ambiente Hyper-V, è consigliabile cercare un equilibrio tra i valori segnalati dal sistema operativo host per "\Processore logico hypervisor Hypervisor (_Total)\% Tempo di esecuzione totale" (LPTR) e "\Hyper-V Hypervisor Virtual Processor(_Total)\% Total Run Time" (VPTR). Se LPTR è elevato e VPTR è basso, verificare che non siano presenti più processori allocati alle macchine virtuali rispetto a quelli fisicamente disponibili nel computer fisico. Usare i contatori "\Processore virtuale Hypervisor Hypervisor(*)\%Guest Run Time" per determinare quali processori virtuali utilizzano CPU e de-allocare processori virtuali dalle macchine virtuali in base alle esigenze per configurarne uno a un mapping di processori virtuali a processori logici. Per altre informazioni sulla configurazione di un mapping tra processori virtuali e processori logici, vedere la sezione "Ottimizzazione delle prestazioni del processore" in Elenco di controllo: Ottimizzazione delle prestazioni in Hyper-V. Se VPTR è elevato e LPTR è basso, prendere in considerazione l'allocazione di processori aggiuntivi alle macchine virtuali se sono disponibili processori logici e se i processori aggiuntivi sono supportati dal sistema operativo guest. Nel caso in cui VPTR sia elevato, LPTR è basso, sono disponibili processori logici da allocare, ma i processori aggiuntivi non sono supportati dal sistema operativo guest, valutare la possibilità di aumentare il numero di istanze aggiungendo macchine virtuali aggiuntive al computer fisico e allocando processori disponibili a queste macchine virtuali. Nel caso in cui sia VPTR che LPTR siano elevati, la configurazione sta spingendo i limiti del computer fisico e deve prendere in considerazione l'aumento del numero di istanze aggiungendo un altro computer fisico e altre macchine virtuali Hyper-V all'ambiente. Il diagramma di flusso seguente descrive il processo da usare per la risoluzione dei problemi relativi alle prestazioni del processore in un ambiente Hyper-V.
Se VPTR è elevato e LPTR è basso, valutare la possibilità di allocare processori aggiuntivi alle macchine virtuali se sono disponibili processori logici e se sono supportati processori aggiuntivi dal sistema operativo guest. Nel caso in cui VPTR sia elevato, LPTR è basso, sono disponibili processori logici da allocare, ma i processori aggiuntivi non sono supportati dal sistema operativo guest, valutare la possibilità di aumentare il numero di istanze aggiungendo macchine virtuali aggiuntive al computer fisico e allocando processori disponibili a queste macchine virtuali. Nel caso in cui sia VPTR che LPTR siano elevati, la configurazione sta spingendo i limiti del computer fisico e deve prendere in considerazione l'aumento del numero di istanze aggiungendo un altro computer fisico e altre macchine virtuali Hyper-V all'ambiente. Il diagramma di flusso seguente descrive il processo da usare per la risoluzione dei problemi relativi alle prestazioni del processore in un ambiente Hyper-V.
Risoluzione dei problemi relativi alle prestazioni della CPU in un ambiente Hyper-V
Nota
I processori del sistema operativo guest non hanno un'affinità impostata su processori fisici/core : l'hypervisor determina il modo in cui vengono usate le risorse fisiche. In caso di utilizzo del processore, l'hypervisor pianifica il tempo del processore guest al processore fisico sotto forma di thread. Ciò significa che il carico del processore delle macchine virtuali verrà distribuito tra i processori del computer fisico. Inoltre, le macchine virtuali non possono superare l'utilizzo del processore del numero configurato di processori logici, ad esempio se una singola macchina virtuale è configurata per l'esecuzione con 2 processori logici in un computer fisico con 8 processori/core, la macchina virtuale non può superare la capacità del processore del numero di processori logici configurati (in questo caso 2 processori).
Misurare l'utilizzo complessivo del processore dell'ambiente Hyper-V usando i contatori del monitoraggio delle prestazioni di Hyper-V : Ai fini della misurazione dell'utilizzo del processore, il sistema operativo host viene visualizzato logicamente come un altro sistema operativo guest. Di conseguenza, il contatore del monitoraggio "\Processor(*)\% Processor Time" misura solo l'utilizzo del processore del sistema operativo host. Per misurare l'utilizzo totale del processore fisico del sistema operativo host e di tutti i sistemi operativi guest, usare il contatore di monitoraggio delle prestazioni "\Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time". Questo contatore misura la percentuale totale di tempo impiegato dal processore che esegue il sistema operativo host e tutti i sistemi operativi guest.
Usare le soglie seguenti per valutare l'utilizzo complessivo del processore dell'ambiente Hyper-V usando il contatore di monitoraggio delle prestazioni "\Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time":
Meno del 60% consumato = Integro
60% - 89% utilizzato = Monitoraggio o cautela
90% - 100% utilizzato = Critico, le prestazioni saranno influenzate negativamente
Per altre informazioni sull'utilizzo del processore, vedere le risorse seguenti:
Capitolo 15 - Misurazione delle prestazioni delle applicazioni .NET.