He visto en numerosos servicios de virtualización (Azure) y productos (vmware, kvm, hyperv) E / S y paradas del sistema bajo una gran carga de trabajo de E / S.
Mis preguntas son:
- ¿Alguna vez es sensato usar una solución virtualizada al realizar cargas de trabajo pesadas de E / S?
- ¿Cuáles son las mejores prácticas en torno a este tipo de cosas?
- ¿Qué causa estos problemas? ¿Hay cuellos de botella bien conocidos en el sistema o es solo una cuestión de contención excesiva?
virtualization
performance-tuning
io
bryan hunt
fuente
fuente
Respuestas:
Sí, muy sensato, de hecho, para la mayoría de las organizaciones ahora lo virtual es lo predeterminado y hacer cosas en cajas físicas es la excepción. Tenemos más de 100k máquinas virtuales de todas las formas y muchas de ellas son> 40k IOPS sin ningún problema.
La clave aquí no es si está virtualizado o no: es comprender bien sus necesidades de E / S y combinar los recursos de almacenamiento virtual. Es así de simple, si sabes lo que necesitas / quieres y tienes el presupuesto para combinarlo con tus sistemas de almacenamiento, entonces la capa de virtualización realmente juega muy poco o nada, a menos que REALMENTE estés presionando cosas por supuesto (estoy hablando decenas / cientos de millones de PIO).
La falta de comprensión o de tratar de hacer demasiado con muy pocos recursos de almacenamiento, eso es lo que normalmente causa problemas a las personas.
fuente
¿Un servidor de base de datos extrae regularmente IO aleatorio de 1 gb / segundo? Ten uno aquí.
O un servidor de archivos virtual que entrega hasta 600mb / segundo a un clúster HPC. Ese se está ejecutando 8 Velicoraptors en un Raid 10, dedicado.
Proporcione mucha IO. Creo que esta máquina virtual SQL tiene alrededor de 8 o 10 SSD dedicadas.
La gente no hace matemática básica. Si el subsistema IO no es capaz de manejar la carga, tampoco lo hará bajo virtualización. Necesita MUCHA E / S, luego proporcione un subsistema de almacenamiento dedicado del tamaño adecuado.
fuente
Además del concepto básico de matemática y de que aún necesita las mismas E / S que no virtualizadas, también hay QOS / priorización. La mayoría de las plataformas de virtualización ofrecen al menos un soporte básico para esto, ayudará mucho para evitar que la máquina virtual de desarrollo que se porta mal se detenga en su base de datos de producción.
fuente