¿Existe una forma estándar de comparar el rendimiento de una máquina virtual de Windows desde el sistema operativo invitado?

9

Estamos viendo que nuestro software se comporta de manera inusual en uno de los clientes donde se ejecuta dentro de una máquina virtual Windows 2008. El host es VMWare ESX Server.

El mayor problema que he visto es que nuestros procesos desconectan las conexiones de socket o las conexiones de socket caducan. Algunos de nuestros procesos se comunican entre sí a través de sockets TCP. En algunos casos, hacemos conexiones de socket a sistemas remotos (por ejemplo, WMI, JDBC).

Me hacen creer que la VM no tiene recursos. No tenemos acceso a los paneles de administración / rendimiento de ESX. También he aprendido que los números que ofrece el administrador de tareas o el administrador de tareas dentro de la VM del host no son una indicación real del estado del SO del host.

Podría escribir un programa que haga un montón de matemáticas de punto flotante e imprima el tiempo necesario. Luego compare ese tiempo con el mismo obtenido en diferentes máquinas virtuales o cajas de Windows reales.

Este enfoque es suficiente para que podamos determinar si la causa raíz es el rendimiento de la VM. Sin embargo, sería mucho más fácil convencer al cliente si hubiera una forma o herramienta estándar para hacerlo.

¿Hay uno?

akirekadu
fuente
Creo que Windows 2008, y ciertamente Windows2008R2, le permite ver nuevos contadores (y otros) que le muestran la frecuencia de la CPU, la memoria, etc. especialmente para la virtualización. Pero la forma más rápida sería preguntarle al administrador de la máquina virtual: asegúrese de que no haya suscrito en exceso la memoria, especialmente en el host de la máquina virtual (la caja del host puede tener 64 GB, pero la suma de las máquinas virtuales en ese host puede tener 80 GB de RAM) . Ah, y si esto acaba de comenzar a ocurrir, entonces quizás el host VM se haya cargado más. Pídales que muevan el invitado VM a un host menos ocupado.
Peter Schofield
Me recuerda a esto - Culpa (virtualización) lonesysadmin.net/2011/02/08/blame
Doug Luxem
Por favor, comparta si tiene alguna idea de cuáles son esos contadores. En este momento estoy jugando con esta URL para obtener algunas indicaciones tempranas fossiltoys.com/speed.html (tal vez esto no sea una prueba confiable, pero estoy buscando encontrar una más confiable)
akirekadu

Respuestas:

2

Tiendo a usar los mismos productos que utilizo para comparar el hardware físico.

http://www.passmark.com/products/pt.htm

Omita la prueba 3D, por supuesto, pero las otras pueden ser útiles, especialmente los puntos de referencia de disco y redes. Asegúrese de estar utilizando los controladores de red y de E / S adecuados, y asegúrese de que todas las configuraciones de Windows estén optimizadas para VM.

Antonius Bloch
fuente
1

Para probar la red, uso iperf y netperf para hacer una prueba de esfuerzo.

Para probar la E / S de disco, use sqlio, que es otra herramienta estándar de la industria. Ejecute pruebas de E / S secuenciales y aleatorias con diferentes tamaños de bloque.

Para las pruebas de CPU / RAM, no puedo pensar en nada para Windows fuera de mi cabeza.

Wim Kerkhoff
fuente