desempenho de vCPU entre 1 ou 2 vCPUs

7

Dentro da virtualização (predominantemente VMware) existe uma vantagem de desempenho usando 1 CPU com 4 núcleos ou 2 CPUs com 2 núcleos? Vamos supor que o aplicativo em execução em uma VM possa usar duas CPUs.

    
por esx_admin18 17.10.2014 / 15:39

4 respostas

9

Não é considerável o suficiente para causar impacto. Os ajustes são mais para licenciamento. Por exemplo, o Windows Server é licenciado por slot de processador, então você pagaria mais para ter 1 núcleo e 4 CPUs do que ter 1 CPU e 4 núcleos.

O mesmo acontece com outros produtos cujos custos aumentam rapidamente com mais processadores (olhando para você, Oracle).

    
por 17.10.2014 / 15:53
5

Resposta curta: Provavelmente nenhuma que você notaria.

Resposta longa: talvez. A questão que me vem em primeiro lugar é que os CPUs modernos operam muito mais rápido que a memória principal que usam. Esta é a principal razão pela qual o NUMA (acesso não uniforme à memória) foi inventado. CPUs no mesmo dado (ex. Dois núcleos no mesmo chip) compartilhariam o mesmo nó NUMA ... e ambos acessariam a memória deste nó mais rápido do que eles poderiam acessar a memória de outro nó NUMA. Portanto, se você estiver construindo um computador que terá muitos núcleos e muitos processadores físicos, tenha em mente a localidade do nó NUMA. Se um processador tiver que acessar a memória que estiver longe, será mais lento.

NUMA não será um problema para você se sua máquina tiver apenas um ou dois processadores, mas eu pensei em mencioná-la de qualquer maneira, apenas por completo.

    
por 17.10.2014 / 15:57
5

Embora não deva ser uma diferença aqui, meus benchmarks mostraram um leve (mas claro ainda) aumento no desempenho de convidados do Windows ao usar emulação de múltiplos soquetes de núcleo único (por exemplo, 4 vCPUs são mapeadas como 4 soquetes, single core, single thread). Nenhuma diferença visível nos hóspedes do Linux.

Foram feitos testes no KVM, usando convidados do Windows 2003R2 e 2008R2 e convidados RHEL5 e RHEL6 para o lado do Linux. Meu palpite é que o Windows tenta fazer alguns truques extras de agendamento que se sobressaem em vários soquetes ou falham em vários núcleos.

    
por 17.10.2014 / 17:52
3

Não há grande diferença aqui. O objetivo principal da designação de núcleos / soquete é fornecer opções para software que pode ter requisitos de tempo de execução ou de licenciamento com base no número de soquetes "físicos" ou núcleos de CPU ( tosse, bancos de dados ... )

Não há diferença significativa de desempenho entre vários núcleos em um soquete versus uma combinação de vários soquetes; existe uma pequena diferença na operação se você habilitar ou exigir o recurso de adição automática de CPU da máquina virtual ( desde que você tenha Licenciamento empresarial ou superior ).

Para o acréscimo de CPU, você adiciona incrementos de soquetes, não de núcleos ... por isso, se você tiver um único soquete com 4 núcleos, uma operação de adição de CPU no vSphere levará dois soquetes e oito núcleos.

Alternativamente, se você tivesse dois soquetes de 2 núcleos, um hot-add levaria você para três soquetes e 6 núcleos.

Veja: No VMware ESXi 5.x, faz diferença se eu selecionar 2 núcleos de CPU vs. 2 soquetes de CPU?

    
por 17.10.2014 / 16:02