A prática recomendada para o vSphere por VMWare é usar o menor número possível de CPUs virtuais. Se os aplicativos não forem criados para aplicativos SMP, isso poderá ter um impacto negativo se você atribuir várias vCPUs ao convidado.
Even if some vCPUs are not used, configuring virtual machines with them still imposes some small
resource requirements on ESX:
* Unused vCPUs still consume timer interrupts.
* Maintaining a consistent memory view among multiple vCPUs consumes resources.
* Some older guest operating systems execute idle loops on unused vCPUs, thereby consuming resources that might otherwise be available for other uses (other virtual machines, the VMkernel, the console, etc.).
* The guest scheduler might migrate a single-threaded workload amongst multiple vCPUs, thereby losing cache locality.
É possível que, se o host estivesse maximizando todos os ciclos físicos da CPU, poderia causar outros problemas de desempenho, já que o host começa a ficar inutilizado, o que, por sua vez, faz com que todos os convidados fiquem atolados.
edit: seu engenheiro deveria ter pelo menos se disposto a testar.
Ao ler seu post novamente, você disse que ele só tinha 1 CPU quad core. Se esse é o caso, eu provavelmente iria com seu engenheiro e diria que atribuir todos os 4 processadores físicos a um convidado é um mau ideia. A sobrecarga no host para gerenciar todas as 4 vCPUs quando há apenas 4 núcleos físicos reduziria o desempenho geral.
O problema é que adicionar 4 vCPUs na rajada quando o host tem apenas 4 núcleos no total é que você está atribuindo todos os recursos da CPU física a uma máquina. A sobrecarga em ter o hipervisor gerenciando todas as 4 vCPUs acabará retirando recursos e seus ganhos realizados provavelmente seriam mínimos