Peço desculpas pela duração do meu post.
Recentemente, convertemos nosso sistema de negócios em um produto licenciado pelo número de núcleos.
Nós compramos a licença de 2 núcleos e atualmente a executamos no VMWare. É muito caro migrar para o próximo nível de licença.
Estamos tendo alguns problemas de desempenho bastante significativos.
Nós eliminamos a RAM como um gargalo, assim como o acesso à rede, banco de dados e disco.
Os tempos em que temos problemas nem sempre são caracterizados por altos usos da CPU.
Às vezes, o uso da CPU é inferior a 20%, mas a CPU pronta é alta.
Estou pensando na possibilidade de executá-lo diretamente em um servidor físico separado.
Desde que eu estou limitado a dois núcleos eu iria selecionar o mais rápido "Single Thread Performance" cpu eu poderia obter, provavelmente, 4 núcleos.
Então eu configuraria o sistema de negócios para usar 2 núcleos e permitir que o sistema operacional consuma os outros 2.
Minha lógica é algo assim.
No momento, a VM está recebendo dois encadeamentos ou vCPU.
Isso é realmente apenas um pCPU.
Mesmo se eu movesse para a mesma caixa sem hyperthreading, ele teria 2 núcleos completos em vez de 2 vCPUs.
Mas se eu escolher um chip que é muito mais rápido em um único thread, eu poderia ganhar muito mais.
Eu também teria um pequeno ganho, já que eu não estaria virtualizando mais.
Nossa cpu atual de 6 núcleos recebe as seguintes pontuações de acordo com a Passmark.
CPU Marca: 8570
Desempenho de encadeamento único: 1403
O processador de 4 núcleos que eu quero recebe essas pontuações.
Marca da CPU: 10231
Desempenho único segmento: 2287
Faz sentido criar um servidor especificamente para obter o melhor desempenho de encadeamento único para um aplicativo como este?
Há algum contras que eu preciso me preocupar?
Um novo SO faria uma grande diferença?
O servidor host atual possui as seguintes especificações:
Proliant DL380 G7
2 CPUs Físicas: Intel® Xeon® X5675 a 3,07 GHz
6 núcleos cada para 24 processadores lógicos (vCPU) total
Hyperthreading está ativado.
144 GB de RAM
O armazenamento está em uma SAN mais recente e tenho certeza de que isso não está afetando nossos problemas de desempenho.
A VM do sistema comercial é configurada com 2 vCPUs e 24 GB de RAM. O SO é o Windows Server 2008 R2.
O software do sistema comercial é otimizado para ser executado em 4 - 6 GB de RAM no pool de aplicativos no IIS.
Eu nunca vi a VM passar de 16 GB em uso.
Também estamos executando outras três VMs no host.
Um está realmente fazendo muito pouco agora e provavelmente será desativado em um futuro muito próximo. Tem 2 vCPU e 8 GB de RAM.
O segundo está executando nosso banco de dados MS Sql. Esse tem 8 vCPU e 64 GB de RAM.
Tivemos uma análise do DBA e ele não acha que é a causa de nossos problemas, pelo menos não do lado do desempenho do banco de dados.
A 3ª VM está executando o nosso site público. A média é inferior a 25% na CPU. Tem 3 vCPU e 16 GB de RAM.
Mais uma vez, qualquer ajuda ou sabedoria que você possa fornecer seria incrível e muito apreciada.
Obrigado!