Esto solía ser cierto, pero ya no es exclusivamente cierto.
A lo que se refieren es a una estricta programación conjunta .
Lo más importante de todo, mientras que en el estricto algoritmo de programación conjunta, la existencia de una vCPU retrasada hace que toda la máquina virtual se detenga conjuntamente. En el algoritmo de co-programación relajado, una vCPU líder decide si debe detenerse conjuntamente en función de la inclinación contra la vCPU hermana más lenta
Ahora, si el host solo tiene 4 hilos, entonces sería tonto asignarlos todos. Si tiene dos procesadores y 4 subprocesos por procesador, es posible que no desee asignar todo el contenido de un solo procesador, ya que su hipervisor debe tratar de mantener las vCPU en el mismo nodo NUMA para que el acceso a la memoria sea más rápido, y estará haciendo que este trabajo sea más difícil al asignar un socket completo a una sola VM (consulte la página 12 de ese PDF anterior).
Por lo tanto, hay escenarios en los que menos vCPU pueden funcionar mejor que más, pero no es cierto el 100% del tiempo.
Dicho todo esto, rara vez asigno más de 3 vCPU por invitado. Todos obtienen 2 de manera predeterminada, 3 si es una carga de trabajo pesada y 4 para cosas como servidores SQL o máquinas virtuales de procesamiento por lotes realmente pesadas, o un servidor de terminal con muchos usuarios.
MAXDOP
configuración adecuada . Sin embargo, dependiendo de la carga de trabajo, un servidor SQL demasiado gravado suele ser un signo de un mal diseño de la base de datos: índices incorrectos, sin índices agrupados, demasiados índices, sin optimización, etc. (no siempre, pero a menudo).Esto depende en gran medida del hipervisor subyacente y los administradores que lo ejecutan, permítanme explicar:
¿Qué puedes aprender de esto? Siempre cree máquinas virtuales con recursos mínimos y aumente según sea necesario. Escale siempre en lugar de aumentar y podrá ejecutar su aplicación en cualquier lugar.
Debido al bloqueo que se puede experimentar con el hipervisor, es cierto que 2 CPU pueden ser más rápidas que 4 CPU.
fuente
Sí, la declaración tiene sentido en general. Sin embargo, es algo que debe probar para su configuración y carga de trabajo exactas. A veces, más CPU es mejor si realmente puede aprovecharlas. Sin embargo, si en realidad no tiene tanto paralelismo, una VM configurada con menos CPU a menudo funcionará ligeramente mejor, ya que evita ralentizaciones debido a pausas del estado de CPU Ready.
He reducido las vCPU en varias de nuestras máquinas virtuales y he visto una mejora en el rendimiento en la mayoría. Un puñado empeoró y fue necesario aumentar el recuento de vCPU.
fuente