Como medir rendimiento de una maquina virtual

Se incorporó
21 Marzo 2022
Mensajes
149
Tengo una laptop antigua (Core i3, 16 GB RAM, 256 GB SSD), en la cual instale ElementaryOS 7, Virtual Box y QEMU/KVM con VirtManager. Yo normalmente uso VirtualBox pero un amigo me convencio de intentar con QEMU usando VirtManager, pero tengo la sensacion de que el rendimiento de la MV es inferior al que obtengo con VirtualBox (en ambos casos es la misma MV VirtualBox que fue convertida a formato QCOW2).

Que programa puedo utilizar para ejcutar en la MV, primero con VirtualBox y luego con QEMU, y asi comparar el rendimiento en condiciones similares en ambos virtualizadores y asi tener evidencia real de cual funciona mejor?

Saludos

Victor Espina
 

Sago7

Tibetan Mod
Miembro del Equipo
MOD
Se incorporó
5 Julio 2006
Mensajes
6.151
Supongo que cualquier tipo de app con la que puedas estresar el OS dependiendo del foco que quieras darle.

Si es en lectura de disco, uso de RAM, CPU, etc. Podrías partir con algo tan básico como mirar el rendimiento con el task manager del OS que tengas en esas VMs. Al mismo tiempo mirar lo mismo en la maquina host para ver como consume recursos cada gestor (VBox/QEMU).

Desdé ahí en adelante tienes un montón de software para usar.
 
Upvote 0

rodrigokfw

Gold Member
Se incorporó
19 Octubre 2007
Mensajes
2.616
estas emulando el cpu o lo pasas directamente?... estas usando las instrucciones de hardware para virtualizar?
 
Upvote 0
Se incorporó
21 Marzo 2022
Mensajes
149
Supongo que cualquier tipo de app con la que puedas estresar el OS dependiendo del foco que quieras darle.

Si es en lectura de disco, uso de RAM, CPU, etc. Podrías partir con algo tan básico como mirar el rendimiento con el task manager del OS que tengas en esas VMs. Al mismo tiempo mirar lo mismo en la maquina host para ver como consume recursos cada gestor (VBox/QEMU).

Desdé ahí en adelante tienes un montón de software para usar.
Si, lo se... pero CUAL... estoy buscando recomendaciones especificas, gratuitas.
 
Upvote 0

Sago7

Tibetan Mod
Miembro del Equipo
MOD
Se incorporó
5 Julio 2006
Mensajes
6.151
Pero QUE QUIERES MEDIR!? xD

Ni siquiera comentaste que OS tienes en las VMs. Menos el uso que le das como para saber por donde se podrían optimizar. Como te van a recomendar algo así?

En fin. Jugare al adivino, asumiré que es windows y dejare link con una larga lista sobre como y que usar para bench.

 
Upvote 0

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Tengo una laptop antigua (Core i3, 16 GB RAM, 256 GB SSD), en la cual instale ElementaryOS 7, Virtual Box y QEMU/KVM con VirtManager. Yo normalmente uso VirtualBox pero un amigo me convencio de intentar con QEMU usando VirtManager, pero tengo la sensacion de que el rendimiento de la MV es inferior al que obtengo con VirtualBox (en ambos casos es la misma MV VirtualBox que fue convertida a formato QCOW2).

Que programa puedo utilizar para ejcutar en la MV, primero con VirtualBox y luego con QEMU, y asi comparar el rendimiento en condiciones similares en ambos virtualizadores y asi tener evidencia real de cual funciona mejor?

Saludos

Victor Espina
MV se lee muy raro 😅 Sé que significa Máquina Virtual pero igual se lee raro, nunca lo veo así jajaja

En fin, VirtualBox es bastante lento y las variables a considerar son bastantes. Me sumo si al comentario de @Sago7 de qué quieres medir. Otra cosa a tener en consideración es que los mismos drivers que instalaste de VirtualBox estén haciendo más lenta la ejecución en "hardware" distinto, yo que tu pruebo como la gente y eliminaría la mayor cantidad de variables posibles. En este caso casi una batalla perdida pq el tema se vuelve muy complejo muy rápidamente.

Saludos.
 
Upvote 0

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.428
en verdad tienes que dar mas detalles de que carajos es lo que corres, la virtualizacion no es magica y hay que cambiar parametros acorde. Recuerdo que en versiones antiguas de sql server tenias que indicarle un parametro special al servicio de sql server para que corriera bien bajo kvm, de lo contrario ocupaba un 25-30% de cpu haciendo nada.

En las versiones "nuevas " de wintendo coriendo bajo kvm debes especificar un parametro de timers particular para las vms , de lo contratio tienes un rendimiento pauperrimo.

No es llegar y hacer test, es revisar cual aplicacion vas a correr virtualizada y bajo que entorno. Cuando tienes todo bien configurado la perdida de rendimiento vs nativo es de maximo un 5%, cuando te tiras a los bruto facil puedes perder un 80% o 90% de rendimiento.
 
Upvote 0

Sago7

Tibetan Mod
Miembro del Equipo
MOD
Se incorporó
5 Julio 2006
Mensajes
6.151
MV se lee muy raro 😅 Sé que significa Máquina Virtual pero igual se lee raro, nunca lo veo así jajaja

En fin, VirtualBox es bastante lento y las variables a considerar son bastantes. Me sumo si al comentario de @Sago7 de qué quieres medir. Otra cosa a tener en consideración es que los mismos drivers que instalaste de VirtualBox estén haciendo más lenta la ejecución en "hardware" distinto, yo que tu pruebo como la gente y eliminaría la mayor cantidad de variables posibles. En este caso casi una batalla perdida pq el tema se vuelve muy complejo muy rápidamente.

Saludos.

Siempre uso el VM, no sé porque lo puse así en ese momento jajajaajaj.
 
Upvote 0
Se incorporó
21 Marzo 2022
Mensajes
149
Pero QUE QUIERES MEDIR!? xD

Ni siquiera comentaste que OS tienes en las VMs. Menos el uso que le das como para saber por donde se podrían optimizar. Como te van a recomendar algo así?

En fin. Jugare al adivino, asumiré que es windows y dejare link con una larga lista sobre como y que usar para bench.

Ok, tienes razon. Aqui van mas detalles:

a) Mi maquina normal de trabajo es una MacMini, donde trabajo con Angular/Ionic y contenedores docker. Para trabajos con aplicaciones Windows, uso una VM de Windows Server 2019 corriendo con Paralles.
b) Hace algunos años compre una laptop HP Core i3 a la que le instale 8 GB de RAM y le cambie el HDD por un SSD de 256 GB.
c) En ese momento le instale ElementaryOS 5 como SO principal y ejecute un proceso de conversion de VM Parallels a formato VMWare, a fin de poder correrla con VirtualBox. Esto funciono y la use asi durante años cada vez que tenia que salir de la casa.
d) Hace unos dias le di formato a esa laptop e instale la ultima version de ElementaryOS 7, para poder correr docker (en la version anterior no me andaba), y volvi a instar el VirtualBox y mi antigua VM con Window Server 2019.
e) Un amigo me recomendo que probara a correr la VM con QEMU/KVM, para lo cual instale los paquetes necesarios, incluyendo VirtManager, y converti el formato de la VM de VMWare a QCOW2.
f) Aunque en primera instancia parecia que la VM corriendo con QEMU funcionaba mejor que con VirtualBox, con el paso de los dias emepce a tener serios problemas e lentitud tanto en la VM como en el host.

Es en ese momento en que me surgio la idea de correr un benchmark en ambos sistemas para ver si era solo impresion mia o si efectivamente la VM corriendo en VirtualBox me da mejor rendimiento que con la version QEMU/KVM... y de ahi vino la consulta. No necesito ninguna medicion en particular, sino solo realizar la misma prueba en igualdad de condiciones en ambos sistemas y ver si hay diferencias y en cual tengo mejor rendimiento.

Ayer encontre un programa llamado Novabench que me genera un resultado para CPU, RAM y disco, y lo corri en la VM con VirtualBox... ahora estoy cargando de nuevo la VM de QEMU para repetir la prueba ahi y comparar los valores y ver que tal.

El bottom line aqui es determinar, de manera un poco menos empirica, si me conviene pasarme a QEMU o si mejor me quedo con VirtualBox.
 
Upvote 0
Se incorporó
21 Marzo 2022
Mensajes
149
en verdad tienes que dar mas detalles de que carajos es lo que corres, la virtualizacion no es magica y hay que cambiar parametros acorde. Recuerdo que en versiones antiguas de sql server tenias que indicarle un parametro special al servicio de sql server para que corriera bien bajo kvm, de lo contrario ocupaba un 25-30% de cpu haciendo nada.

En las versiones "nuevas " de wintendo coriendo bajo kvm debes especificar un parametro de timers particular para las vms , de lo contratio tienes un rendimiento pauperrimo.

No es llegar y hacer test, es revisar cual aplicacion vas a correr virtualizada y bajo que entorno. Cuando tienes todo bien configurado la perdida de rendimiento vs nativo es de maximo un 5%, cuando te tiras a los bruto facil puedes perder un 80% o 90% de rendimiento.

Si, sospecho que algo de eso hay. Yo no estoy buscando correr un servicio particular (para eso uso docker), sino una VM completa para cuando tengo que hacer algun desarrollo con herramientas solo-Windows (Visual Studio, Visual Foxpro, Sysdev Kalypso). Es posible que el bajo rendimiento que estoy notando con QEMU se deba a falta de configuracion.... yo la verdad no se nada de QEMU; es un amigo que es fanatico de Linux el que me esta ayudando... yo la verdad estoy bastante satisfecho con el rendimiento que me da VirtualBox para lo que hago en esa laptop... pero bueno, uno siempre quiere que la cosa ande "mas rapido". :)
 
Upvote 0
Se incorporó
21 Marzo 2022
Mensajes
149
MV se lee muy raro 😅 Sé que significa Máquina Virtual pero igual se lee raro, nunca lo veo así jajaja

En fin, VirtualBox es bastante lento y las variables a considerar son bastantes. Me sumo si al comentario de @Sago7 de qué quieres medir. Otra cosa a tener en consideración es que los mismos drivers que instalaste de VirtualBox estén haciendo más lenta la ejecución en "hardware" distinto, yo que tu pruebo como la gente y eliminaría la mayor cantidad de variables posibles. En este caso casi una batalla perdida pq el tema se vuelve muy complejo muy rápidamente.

Saludos.

Si, estoy consciente de eso... es solo que mi VM de desarrollo en Windows tiene CALETA de utilidades y programas ya instalados y configurados.... ponerme a hacer eso de nuevo desde cero me da demasiada pereza :)
 
Upvote 0

Carlos E. Flores

Zombie
Miembro del Equipo
MOD
Se incorporó
17 Marzo 2005
Mensajes
28.527
No entendí que uso lee das, pero por tincada, si usas un MS server asumo que es para aplicaciones en segundo plano en paralelo.

Los programas de bench normales te podrán hacer una idea, pero no te van a indicar exactamente cuál anda mejor o en qué anda mejor uno sobre otro o peor respecto al otro.

Te sugeriría que pruebes con uno de los programas y usos que le das en diferentes condiciones. Luego así comparas con parámetros reales del uso que tú le das.

Por ejemplo, yo uso mi equipo para edición, por lo que comparo los parámetros de renderizado de video (CPU+GPU primer plano en paralelo) y para audio el uso en tiempo real (CPU prioridad segundo plano procesos en serie y paralelo).
 
Upvote 0

cliobrando

Capo
Se incorporó
6 Mayo 2021
Mensajes
202
No lo consideraría como un "problema" pero cuando instalas windows bajo Qemu/KVM requiere optimizar el xml, es clásico por ejemplo incluir que el disco use virtio, pero no instalar los drivers en el OS Guest. O si tienes CPU intel de 12th gen hacer CPU Pinning para que utilice los P-Cores. La gracia de VirtualBox/VMware/Parallels, es que te olvidas de eso.
 
Upvote 0
Se incorporó
21 Marzo 2022
Mensajes
149
No lo consideraría como un "problema" pero cuando instalas windows bajo Qemu/KVM requiere optimizar el xml, es clásico por ejemplo incluir que el disco use virtio, pero no instalar los drivers en el OS Guest. O si tienes CPU intel de 12th gen hacer CPU Pinning para que utilice los P-Cores. La gracia de VirtualBox/VMware/Parallels, es que te olvidas de eso.
Hasta donde entiendo mi amigo instalo y configuro los drivers VirtIO. Y si; justamente lo que quiero determinar es si la supuesta mejora de rendimiento bajo QEMU justifica tanta complicacion, tomando en cuenta las ventajas en facilidad de uso que me da VirtualBox.
 
Upvote 0
Se incorporó
21 Marzo 2022
Mensajes
149
No entendí que uso lee das, pero por tincada, si usas un MS server asumo que es para aplicaciones en segundo plano en paralelo.

Los programas de bench normales te podrán hacer una idea, pero no te van a indicar exactamente cuál anda mejor o en qué anda mejor uno sobre otro o peor respecto al otro.

Te sugeriría que pruebes con uno de los programas y usos que le das en diferentes condiciones. Luego así comparas con parámetros reales del uso que tú le das.

Por ejemplo, yo uso mi equipo para edición, por lo que comparo los parámetros de renderizado de video (CPU+GPU primer plano en paralelo) y para audio el uso en tiempo real (CPU prioridad segundo plano procesos en serie y paralelo).
La VM la uso para desarrollo exclusivamente. Uso Windows Server en lugar de una version de escritorio normal por dos razones:

a) Estabilidad. En mi experiencia, las versiones Server son mucho mas estables que las versiones de escritorio.
b) Funcionalidades. Las versiones Server traen funcionalidades que no estan disponibles en las versiones de escritorio, ni siquiera en las pro, y que a veces necesito para poder simular el ambiente en los clientes.
 
Upvote 0

cliobrando

Capo
Se incorporó
6 Mayo 2021
Mensajes
202
Hasta donde entiendo mi amigo instalo y configuro los drivers VirtIO. Y si; justamente lo que quiero determinar es si la supuesta mejora de rendimiento bajo QEMU justifica tanta complicacion, tomando en cuenta las ventajas en facilidad de uso que me da VirtualBox.
Qemu-KVM va directo contra el kernel, es "imposible" algo más rápido que eso (velocidad nivel hw nativo), pero conseguir que las cosas anden bien requiere tiempo, editar archivos y probar (especialmente con Windows guest). Si las app windows las usas para cosas no tan pesadas y realmente no te complica el tema de la velocidad quédate con Virtualbox/VMware. Si tienes tiempo para estar probando tweaks y editando archivos pero con la esperanza de conseguir velocidad, dale con qemu y buscate una buena guía.
 
Upvote 0

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
f) Aunque en primera instancia parecia que la VM corriendo con QEMU funcionaba mejor que con VirtualBox, con el paso de los dias emepce a tener serios problemas e lentitud tanto en la VM como en el host
Sólo basado en eso diría que el problema no es de la plataforma de virtualización pero un problema con el host o alguna configuración que está incorrecto.

Tb puede ser que esté swapeando, o que se te olvidó ponerle límites.

Pero no creo que el problema esté en QEMU en sí.

Saludos.
 
Upvote 0

cliobrando

Capo
Se incorporó
6 Mayo 2021
Mensajes
202
Sólo basado en eso diría que el problema no es de la plataforma de virtualización pero un problema con el host o alguna configuración que está incorrecto.

Tb puede ser que esté swapeando, o que se te olvidó ponerle límites.

Pero no creo que el problema esté en QEMU en sí.

Saludos.
Pienso exactamente igual, pero varias veces tuve atados con Windows guests, el problema de los timers que mencionó @Soujiro a veces se consumía entre un 10 y un 30% de la cpu de la máquina haciendo nada, recuerdo que había un fix en el xml para habilitar un timer de Hyper-V y arreglarlo. Después ni siquiera eso sirvió porque un update de kernel volvió a provocar problemas. Por eso, si es una VM para cosas puntuales mejor evitarse atados, y usar lo que es más cómodo y simple.
 
Upvote 0
Subir