Compramos algo de software de una empresa pequeña, es un administrador de flujo de trabajo de contenido de video de Windows de 32 bits, han sido personalizados.
Hemos estado trabajando bien durante más de un año ejecutando este código en una VM VMWare ESXi 4.1u2 en W2K3EE-32-bit (eso es lo que admiten ejecutarlo).
Luego actualizaron su código hace aproximadamente un mes y comenzamos a ver que una de las vCPU se vinculaba periódicamente al 100%, la segunda vCPU está bastante inactiva, digamos 5-7%, por lo que asumimos que el código está mal enhebrado y los contactamos sobre eso.
Ahora han regresado a nosotros diciendo que su código no funciona en una VM, han sabido sobre este requisito durante aproximadamente 18 meses, y que quieren que lo V2P. Dicen que solo ven este problema cuando se ejecutan dentro de máquinas virtuales. Tengo una llamada con su programador sénior programada en unas pocas horas para discutir.
Ahora, afortunadamente, tenemos algunos exámenes físicos en los que podemos hacer esto, un poco lento pero factible.
Sin embargo, mi pregunta es que, dado que esta VM no toca ningún hardware directamente, está en un host muy moderno y en realidad tiene requisitos muy bajos (2 x vCPU, 4GB, disco de arranque de 20GB, disco de datos de 100GB, disco único vNIC y nada más) qué podría ser el problema con ejecutarlo en una máquina virtual, si hay uno?
Obviamente, estoy persiguiendo esto con ellos, pero me preguntaba si alguien más ha encontrado una aplicación regular, que de alguna manera se comporta mal dentro de una VM pero no en un físico.
fuente
Respuestas:
Si bien no puedo hablar por este proveedor o el paquete de software, he trabajado para un proveedor grande (multinacional), donde una de las piezas de software que vendieron tenía problemas conocidos muy específicos cuando se ejecutaba en VMware.
En este caso, un problema podría causar el bloqueo del software, y el otro podría causar corrupción de datos. Como tal, se aconsejó a los clientes que no ejecutaran el software en un entorno virtual. Algunos todavía lo hicieron, y en todos los casos que conocía, se toparon con uno o ambos problemas.
Entonces, aunque es raro, puede haber casos en los que el software no funciona como se esperaría en VMware.
Si bien me doy cuenta de que no ayuda directamente a su problema, sí muestra que VMWare no siempre es el sistema perfecto.
Nota al pie: en este caso, el proveedor pudo trabajar con VMware para encontrar resoluciones (algunas correcciones de código, algunos cambios de configuración de VMWare), y ahora tienen una guía (muy específica) sobre cómo ejecutar el software en VMWare.
fuente
Con ESX v5 y el límite de Monster VM (32vCPU 1TB RAM), la cantidad de aplicaciones que tienen problemas con VM se está reduciendo. La mayoría de los que he experimentado son: - depender del tiempo para ser lineal (procesos en tiempo real o aplicaciones que necesitan tener tiempo lineal ... esto generalmente se puede ajustar) - aplicaciones que causan muchas interrupciones de hardware o cambio de contexto
En la mayoría de los casos, debería poder pedirle a su representante de vmware que hable con esos tipos. Creo que vmware todavía tiene un equipo de personas dedicadas a hacer que las cosas funcionen (tenían un laboratorio de soporte solo para esto en los primeros días).
En cuanto a una solución, tuve un problema similar con VM que tenía un alto uso de CPU (pero el host tenía muchos recursos de CPU libres). Solucionamos el problema migrando a un servidor con una CPU Nehalem y cambiando el nivel de compatibilidad de la CPU en EVC (si tiene un clúster con DRS / HA)
fuente
He visto un problema similar con VMware ESX + Debian 6 + OpenLDAP 2.4.x (cualquiera que sea la versión exacta de OpenLDAP es apt-gettable ...).
En las operaciones del día a día funciona bien, pero cosas como importar un archivo LDIF grande con 400 000 entradas son muy lentas (50-100 veces más lento que con servidores físicos). Además, con la evaluación comparativa de alto volumen y larga duración, todo transcurre sin problemas con un par de milisegundos de tiempo de respuesta, pero ocasionalmente hay picos extraños que varían de 500 a 25 000 (!) Milisegundos.
Con los servidores físicos no puedo reproducir estos problemas. Y sí, pasé alrededor de tres semanas tratando de aislar el problema, ajustando todo tipo de parámetros desde los parámetros del sistema operativo hasta los valores de bofetada a los valores de BerkeleyDB ... nada ayudó.
fuente
Jira
yConfluence
no se recomiendan para ejecutarse en un entorno VM (ware). Debe haber un patrón para estas excepciones, simplemente no he descubierto aún qué podría ser. Mi instalación de OpenLDAP no requiere mucha E / S (3 MB / s de escritura y no demasiadas IOPS en los picos durante el punto de referencia), utiliza quizás un 20-40% de CPU y alrededor de 150 MB de RAM. No debería ser demasiado difícil de manejar. Quizás tenga algo que ver con el subprocesamiento, pero vmstat informa que los cambios de contexto, etc., están en el nivel normal.tsc=pit
parámetros elegantes durante el arranque, y al menos OpenLDAP es MUY sensible a la precisión del reloj del sistema. Tal vez debería ordenar todas las aplicaciones problemáticas y ver si todas usan muchogettimeofday()
o no.