Xen vs VirtualBox, comparativa de rendimiento

En esta prueba queremos comparar el rendimiento de una máquina en tres escenarios distintos:
  • Ejecutando un SO virtualizado con el método anfitrión-huésped (mediante VirtualBox).
  • Ejecutando un SO virtualizado con un hipervisor (mediante Xen).
  • Para compararlos con el rendimiento de la máquina nativa.
La máquina de prueba tiene las siguientes características:
  • Procesador: Intel Core i5 3330 @ 3.0GHz
  • Memoria: 4GiB DDR3 1300MHz
  • Almacenamiento: HDD WD Blue 500GB
  • Placa base: Asus H61M-K
Como sistema operativo se ha escogido Opensuse Leap 15.3 64-bit XFCE, un sistema operativo muy liviano en el que es posible configurar el hipervisor de manera sencilla usando estos programas:
  • Virtual Machine Manager para xen: 3.2.0
  • xen: 4.14.1_161.6
  • 7zip: 16.02 x64
  • Oracle VirtualBox: 6.1.28_SUSEr147628

El rendimiento se ha medido utilizando la herramienta de benchmark integrada en 7zip, al estar considerada una prueba estándar. Esta prueba se ha ejecutado directamente desde el terminal.


Este benchmark mide el rendimiento en compresión/descompresión 7zip de la máquina, expresado en la unidad MIPS (Millones de Instrucciones Por Segundo) que mide el número de operaciones relacionadas con compresión y decompresión de archivos que la máquina realiza por segundo.

Se han escogido las siguientes pruebas:
  • Monohilo y multihilo (2 hilos) en la máquina anfitrión, se calcula la media de los resultados para 5 pruebas en cada caso.
  • Monohilo y multihilo (2 hilos) en el SO virtualizado con VirtualBox, se calcula la media de los resultados para 5 pruebas en cada caso.
  • Monohilo y multihilo (2 hilos) en el SO virtualizado mediante Xen, se calcula la media de los resultados para 5 pruebas en cada caso.
Si quieres saber más acerca del benchmark de 7zip, consulta este enlace (en inglés).

RESULTADOS

Ya realizadas las pruebas y registrado los resultados, se muestran a continuación.









CONCLUSIÓN

Con los datos obtenidos, observamos que el rendimiento máximo lo obtiene la máquina anfitrión, ya que es la que está comunicada más directamente con el hardware, como se muestra en esta imagen.


El segundo puesto lo ocupa el Sistema Operativo virtualizado mediante el hipervisor xen, con una pérdida de rendimiento respecto a la máquina anfitrión del 8%.

En el último lugar se encuentra la virtualización anfitrión/huésped mediante VirtualBox, que presenta una pérdida de rendimiento del 11%.

La diferencia de rendimiento entre las tres pruebas depende de la cantidad de capas software que se colocan entre la máquina y el programa a ejecutar, como se representa en las imágenes.



Esto es porque en la prueba con hipervisor hemos añadido una capa muy fina (el propio hipervisor) entre los SO virtualizados y la máquina, he de ahí la pequeña pérdida de rendimiento que se observa. 

En el caso de la virtualización en anfitrión/huésped el monitor de máquinas virtuales se ejecuta encima del S.O produciendo una pérdida mayor.

Una prueba interesante sería comprobar cómo afectaría al rendimiento hacer estas mismas pruebas con varios sistemas operativos ejecutándose simultáneamente.  

Imágenes obtenidas de: https://arstechnica.com/gadgets/2008/08/virtualization-guide-1/ 
Jon Stokes, abril de 2008.

Comentarios

Entradas populares de este blog

RAID 0 y RAID 1 en Windows 11

Consumo eléctrico de monitores LED y CFFL

Pruebas de estrés a Procesador y Tarjeta Gráfica antiguos