VMware / SQL - núcleos físicos versus lógicos - quantas vCPUs serão atribuídas quando o HT estiver ativado

5

Temos um host ESX:

Tem2CPUsx8núcleoscadaeHTativado.Assim,totalize16núcleosfísicosou32núcleoslógicos.

EletemumaúnicaVMSQLdedicada(nenhumaoutraVMéexecutadanestehost)epossui16vCPUsdesignadas:

e a configuração do SQL NUMA se parece com:

Issosignificaqueessas16vCPUsmapeiamos16núcleoslógicosem1CPUequeaoutraCPUquecontémmais16núcleoslógicosestáinativa?Aumentá-lopara32vCPUsfarádiferença?

Euencontreieste artigo , que diz não atribuir mais vCPUs do que os núcleos físicos reais, independentemente dos núcleos lógicos. Porque não?

    
por d-_-b 03.11.2016 / 17:32

2 respostas

0

O motivo pelo qual eles não recomendam isso é porque como o HyperThreading funciona no VMware, não é o dobro do poder de computação, mais como 10% extra de acordo com alguns testes. Então você não deve definir mais vCPUs do que núcleos físicos. Se essa enorme VM não estiver sozinha nesse host, talvez você também queira ter em mente que, embora os ciclos de clock das VMs estejam em execução, não muito mais acontecerá nas outras VMs, já que essa única VM consome todos os núcleos disponíveis e não funcionará se nem todos os 16 núcleos estiverem disponíveis.

    
por 14.11.2016 / 14:50
0

O MSSQL é um processador e por boas razões. Isso também reduziria a eficácia do HT, pois o HT só divide a carga do processador, mas não duplica o seu processamento. Se você pretende executar um servidor SQL de alto desempenho, convém atribuir as regras de afinidade central no vSphere e impedir que outras VMs sejam executadas nesses núcleos. Eu sei que derrota o propósito da virtualização, mas ainda existem algumas vantagens.

    
por 08.12.2016 / 23:39