Condividi tramite


prestazioni del processore Hyper-V

I server di virtualizzazione ospitano più macchine virtuali isolate tra loro, ma condividono le risorse hardware sottostanti. I processori, la memoria e i dispositivi I/O vengono virtualizzati. Quando si consolidano i server in un singolo computer, la virtualizzazione migliora l'utilizzo delle risorse, migliora l'efficienza energetica e riduce i costi operativi e di manutenzione dei server. Questo articolo illustra le considerazioni sulle prestazioni del processore per ottimizzare e migliorare le prestazioni Hyper-V.

Servizi di integrazione delle macchine virtuali

I servizi di integrazione delle macchine virtuali includono driver ottimizzati per i dispositivi I/O specifici di Hyper-V, che riducono significativamente il sovraccarico della CPU per le operazioni di 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'utilizzo della CPU dei guest, da guest inattivi a guest ad alto utilizzo, e migliorano il throughput di I/O. Questo passaggio è il primo per ottimizzare le prestazioni in un server che esegue Hyper-V. Per un elenco dei sistemi operativi guest supportati, consultare la panoramica Hyper-V.

Processori virtuali

Valuta il carico di lavoro per determinare i requisiti del processore e evitare il sotto o sovra-provisioning. Usare i risultati della valutazione per configurare il numero di processori virtuali necessari. Aumentare il numero di processori virtuali se la macchina virtuale richiede più risorse di elaborazione con carico di picco. Per altre informazioni sui componenti configurabili massimi in Hyper-V, vedere Pianificare Hyper-V scalabilità in Windows Server.

Attività in background

Riducendo al minimo l'attività in background nelle macchine virtuali inattive vengono rilasciati cicli di CPU usati da altre macchine virtuali. Gli ospiti Windows in genere utilizzano meno dell'1% 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 la porta CD-ROM e COM, o disconnettere i supporti.

  • Mantenere il sistema operativo guest Windows nella schermata di accesso quando non viene usato e disabilitare lo screen saver.

  • Rivedere le attività e i servizi pianificati che sono abilitati per impostazione predefinita.

  • Verificare i provider di tracciamento ETW (Event Tracing for Windows) attivati di default eseguendo logman.exe query -ets.

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

  • Chiudere Server Manager nei sistemi operativi ospitante e ospite.

  • Non lasciare Hyper-V Manager 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, come ad esempio la deframmentazione programmata.

NUMA virtuale

Hyper-V in Windows Server espande i limiti di scalabilità delle macchine virtuali per abilitare la virtualizzazione di carichi di lavoro su larga scala. Quando si creano macchine virtuali di grandi dimensioni, in genere viene usata la memoria di più nodi NUMA nel sistema host. In questo tipo di configurazione della macchina virtuale, se non si allocano processori virtuali e memoria dallo stesso nodo NUMA, i carichi di lavoro potrebbero avere prestazioni scarse. Le prestazioni sono influenzate negativamente perché i carichi di lavoro non possono sfruttare le ottimizzazioni NUMA. Per ulteriori informazioni sui componenti configurabili massimi in Hyper-V, consultare il piano per la scalabilità in Windows ServerHyper-V.

In Windows Server Hyper-V presenta una topologia NUMA virtuale alle macchine virtuali. Per impostazione predefinita, questa topologia NUMA virtuale è ottimizzata in modo che corrisponda 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 applicazioni NUMA-aware di sfruttare le ottimizzazioni delle prestazioni NUMA, proprio come quando vengono eseguite in un computer fisico.

Non esiste alcuna distinzione tra un NUMA virtuale e un NUMA fisico dal punto di vista del carico di lavoro. All'interno di una macchina virtuale, quando un'attività alloca la memoria locale per i dati e accede a quei dati nello stesso nodo NUMA, l'accesso rapido alla memoria locale porta a prestazioni migliori nel sistema fisico sottostante. Le penalità sulle prestazioni dovute all'accesso alla memoria remota vengono evitate con successo. Solo le applicazioni con riconoscimento 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 univoca.

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. E non viene presentata alcuna topologia NUMA alla macchina virtuale indipendentemente dalle impostazioni NUMA virtuali.

Per ulteriori informazioni su Virtual NUMA, vedere la panoramica di Virtual NUMA Hyper-V.

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