Prestazioni del processore di Hyper-V

I server di virtualizzazione ospitano più macchine virtuali (VM) isolate tra loro pur condividendo le risorse hardware sottostanti. I processori, la memoria e i dispositivi I/O vengono virtualizzati. Quando si consolidano i server su un singolo computer, la virtualizzazione migliora l'utilizzo delle risorse, aumenta l'efficienza energetica e riduce i costi operativi e di manutenzione dei server. Questo articolo illustra le considerazioni relative alle prestazioni del processore ai fini dell'ottimizzazione e del miglioramento delle prestazioni di Hyper-V.

Servizi di integrazione delle macchine virtuali

I servizi di integrazione delle macchine virtuali (VM) includono driver avanzati per i dispositivi di I/O specifici per Hyper-V, che riducono significativamente il sovraccarico della CPU per l'I/O rispetto ai dispositivi emulati. Installare la versione più recente dei servizi di integrazione delle macchine virtuali in ogni macchina virtuale supportata. I servizi riducono l'uso della CPU da parte dei guest, da quelli inattivi a quelli ad uso intensivo, e migliorano la velocità effettiva di I/O. Questo è il primo passaggio da eseguire ai fini della regolazione delle prestazioni di un server che esegue Hyper-V. Per un elenco dei sistemi operativi guest supportati, vedere Panoramica di Hyper-V.

Processori virtuali

È consigliabile configurare le macchine virtuali con uso non intensivo di CPU per l'uso di un solo processore virtuale. Questa configurazione è necessaria a causa del sovraccarico aggiuntivo associato a più processori virtuali, ad esempio altri costi di sincronizzazione nel sistema operativo guest. Per altre informazioni sui componenti configurabili massimi in Hyper-V, vedere Pianificare la scalabilità di Hyper-V in Windows Server.

Aumentare il numero di processori virtuali se la macchina virtuale richiede più di una CPU di elaborazione in condizioni di carico di picco.

Attività in background

La riduzione al minimo dell'attività in background nelle macchine virtuali inattive rilascia cicli di CPU usati da altre macchine virtuali. Gli utenti guest di Windows usano in genere meno dell'uno percento di una CPU quando sono inattivi. Di seguito sono riportate le procedure consigliate per ridurre al minimo l'utilizzo della CPU in background di una macchina virtuale:

  • Installare la versione più recente dei servizi di integrazione delle macchine virtuali.

  • Rimuovere la scheda di rete emulata tramite la finestra di dialogo Impostazioni macchina virtuale (usare la scheda specifica di Microsoft Hyper-V).

  • Rimuovere i dispositivi inutilizzati, ad esempio il CD-ROM e la porta COM, oppure disconnettere i relativi supporti.

  • Mantenere il sistema operativo guest Windows nella schermata di accesso quando non è in uso e disabilitare lo screen saver.

  • Esaminare le attività e i servizi pianificati abilitati per impostazione predefinita.

  • Esaminare i provider di traccia di Event Tracing for Windows (ETW) attivati per impostazione predefinita eseguendo logman.exe query -ets.

  • Migliorare le applicazioni server per ridurre l'attività periodica, ad esempio i timer.

  • Chiudere Server Manager nei sistemi operativi host e guest.

  • Non lasciare la console di gestione di Hyper-V in esecuzione perché aggiorna costantemente l'anteprima della macchina virtuale.

Di seguito sono riportate le procedure consigliate per configurare una versione client di Windows in una macchina virtuale per ridurre l'utilizzo complessivo della CPU:

  • Disabilitare i servizi in background, ad esempio SuperFetch e Windows Search.

  • Disabilitare le attività pianificate, ad esempio la deframmentazione pianificata.

NUMA virtuale

Hyper-V in Windows Server amplia i limiti di scalabilità delle macchine virtuali per consentire la virtualizzazione di carichi di lavoro su larga scala. Quando si creano macchine virtuali di grandi dimensioni, in genere si usa la memoria di più nodi NUMA nel sistema host. In questo tipo di configurazione di macchine virtuali, se non si allocano processori virtuali e memoria provenienti dallo stesso nodo NUMA, i carichi di lavoro possono avere prestazioni scarse. Le prestazioni sono influenzate negativamente perché i carichi di lavoro non possono sfruttare le ottimizzazioni NUMA. Per altre informazioni sui componenti configurabili massimi in Hyper-V, vedere Pianificare la scalabilità di Hyper-V in Windows Server.

In Windows Server Hyper-V presenta una topologia NUMA virtuale alle macchine virtuali. Per impostazione predefinita, questa topologia NUMA virtuale è ottimizzata in modo da corrispondere alla topologia NUMA del computer host sottostante. L'esposizione di una topologia NUMA virtuale in una macchina virtuale consente al sistema operativo guest, e alle eventuali applicazioni compatibili con NUMA eseguite in tale sistema operativo, di sfruttare i vantaggi offerti dalle ottimizzazioni delle prestazioni NUMA, proprio come se fossero eseguiti in un computer fisico.

Non c'è alcuna differenza fra una topologia NUMA virtuale e una fisica dal punto di vista del carico di lavoro. In una macchina virtuale, quando un carico di lavoro alloca memoria locale per i dati e accede a tali dati nello stesso nodo NUMA, nel sistema fisico sottostante l'accesso alla memoria locale avviene rapidamente. In questo modo si evita un calo delle prestazioni dovuto all'accesso alla memoria remota. Solo le applicazioni compatibili con NUMA possono trarre vantaggio da vNUMA.

Microsoft SQL Server è un esempio di applicazione compatibile con NUMA. Per altre informazioni, vedere Informazioni sull'accesso alla memoria non uniforme.

Non è possibile usare contemporaneamente funzionalità di memoria dinamica e NUMA virtuale. Una macchina virtuale con memoria dinamica abilitata su di essa dispone effettivamente di un solo nodo NUMA virtuale. Inoltre, non viene presentata alcuna topologia NUMA alla macchina virtuale indipendentemente dalle impostazioni NUMA virtuali.

Per altre informazioni su NUMA virtuale, vedere Panoramica di NUMA virtuale di Hyper-V.

Ecco alcuni articoli utili per ottenere altre informazioni su Hyper-V.