Provare le prestazioni di una macchina virtuale non è una cosa da nulla, ma bisogna fare attenzione ad alcuni aspetti che possono portare a dei comportamenti apparentemente anomali ma che si possono spiegare osservando le specifiche di costruzione dell’hypervisor e delle varie strategie adottate per migliorare le performance degli ambienti virtuali.

Qui sotto è riportato un semplice esempio che mostra come si possono rilevare degli strani valori da una misurazione fatta senza la dovuta conoscenza dei meccanismi di funzione del software di virtualizzazione.

Hdparm è uno strumento per Linux in grado di testare la velocità della lettura sequenziale di un disco o della sua cache, indipendentemente dal tipo di filesystem. E’ estremamente interessante confrontare quanto è il degrado delle prestazioni di un disco virtuale rispetto ad un disco fisico. Le prestazioni, all’interno delle macchine virtuali, sono influenzate dai vari approcci scelti per la virtualizzazione dell’I/O e della gestione dell’immagine disco.[ad#midarticlequadr]

Toshiba 4TB Canvio Basics Portable External Hard Drive,USB 3.2. Gen 1, Black (HDTB440EK3AA)

E’ stato eseguito hdparm su una macchina virtuale HVM (cioè quella modalità che fa uso delle estensioni di virtualizzazione in dotazione ai più recenti processori) e sul host in modo nativo (ovvero non in una macchina virtuale).

I picchi sono causati ad un meccanismo di caching che restituisce dei risultati con molta varianza (306,81), la media fra tutti i valori si attesta poco di più di 28 MB/sec mentre per il sistema operativo nativo attorno ai 43 MB/sec, registrando una varianza bassa (0,09). La caching determina dei risultati anomali nell’uso di hdparm in domU paravirtualizzati, per cui non è stato possibile ottenere valori confrontabili.

Il minor throughput è dovuto al fatto che HVM utilizza l’emulazione per alcuni dispositivi, il cui codice è fornito dal progetto QEMU.

L’hardware è emulato mediante l’uso di una versione modificata ad-hoc del demone “device manager” (qemu-dm) di QEMU che funziona come backend nel dom0. Per aumentare le prestazioni è disponibile un driver per Windows, per Linux purtroppo non si può utilizzare una versione sufficientemente stabile.

Di valent

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *