Todos os núcleos serão usados em um i7 ao executar o SQL Server 2008 R2 Standard

1

Eu tenho um servidor com um processador Intel Core i7 (4 núcleos). Se eu visualizar a atividade do processador no Gerenciador de Tarefas, vejo que há 8 núcleos. Eu acredito que isso é por causa do hyperthreading (por favor corrija-me se eu estiver errado).

O SQL Server 2008 R2 Standard usará no máximo 4 CPUs quando comparado ao SQL Server Enterprise, que usa no máximo 8 CPUs.

Minha pergunta: a versão padrão do SQL Server utilizará todas as CPUs disponíveis neste servidor? Ou seja, ele verá 4 ou 8 CPUs?

    
por Guy 29.02.2012 / 06:07

2 respostas

4

O limite no SQL Server 2008 Standard para processadores é por soquete, não por núcleo. Para obter mais informações, confira a página do SQL Server 2008 no site Microsoft.com . Especificamente, o "SQL Server 2008 R2a2". Visão geral das edições "documento PDF. Do documento:

With increasing hardware innovations, Microsoft continues to be the only major database vendor who does not price per core for multi-core processors

Sim, o SQL Server 2008 Standard usará todos os 8 núcleos. Ele poderia usar uma centena de núcleos em uma licença de soquete único se tal CPU existisse.

    
por 29.02.2012 / 06:16
2

Não importa. Se a carga for colocada em apenas quatro núcleos, o planejador será inteligente o suficiente para garantir que a carga esteja em um núcleo lógico para cada núcleo físico. E o hyper-threading normalmente oferece, na melhor das hipóteses, um adicional de 15% de desempenho. O carregamento de um núcleo virtual rouba o outro núcleo virtual que compartilha o núcleo físico de recursos, como unidades de execução, largura de banda de E / S, espaço de cache L2 e assim por diante. Então eles não correm em qualquer lugar perto da velocidade máxima.

Assim, mesmo no pior caso imaginável, isso significaria que cerca de 15% da sua CPU não poderia ser usada pelo próprio servidor SQL. Mas quando o SQL Server está fazendo as coisas, o SO também estará lidando com interrupções de rede e disco, gerenciando a memória e assim por diante. Em qualquer caso realista, isso será em torno de 20% da carga da CPU, e isso pode usar os outros núcleos virtuais. Então você está lutando essencialmente nada.

    
por 29.02.2012 / 06:40