¿Cuántas veces los funcionales de las aplicaciones o servicios han insistidos que aumenten la cantidad de vCpu a la vm para que mejore el rendimiento de su app? En mi caso era muy común.
Dar una explicación sencilla con dibujos ayuda a entender que no necesariamente tener más vCpu es igual a mejor rendimiento, aunque muchas veces igual insistes hasta darse cuenta.
Trataré de explicarlo de manera escrita aunque sea un poco más difícil para que pruebes si explicarlo con paciencia te puede ayudar.
El 1er concepto a explicar es que las vm´s esperan por turno a que el host le asigne un ciclo de cpu físico, es como la fila para entrar al cine.
El 2do concepto es que para que el host le asigne un ciclo de cpu, deben estar libres la misma cantidad de core físicos que la cantidad de vCpu´s. Y aquí es clave un ejemplo.
Si un host tiene un cpu de 4 core, cuando le toca el turno a una vm que tiene 2 vCpu y en ese mismo momento hay 3 vm´s de 1 vCpu cada uno, la vm tendrá que volver al final de la fila y esperar su próximo turno.
Termino explicando que si aumentaría los vCpu de 2 a 4 en el ejemplo, las probabilidades de encontrar 4 core libres en un momento dado sería menor y esa espera se trasladaría a la app.
Me alcanzó justo los caracteres. Bye