Ao adicionar um segundo processador ao SQL Server, ele equilibrará automaticamente a carga?

2

Temos um SQL Server 2008 R2 (10.5) em uma caixa dedicada com um único processador de 2.4Ghz, que roda regularmente a 70-80% da CPU. Nós vamos adicionar um número significativo de usuários ao aplicativo e, portanto, queremos adicionar um segundo processador à caixa (scale up).

O SQL Server usará automaticamente o segundo processador para equilibrar as threads, ou há alguma configuração adicional que precise ser feita? Em outras palavras, a adição do segundo processador deixará meu uso da CPU em 35-40% por CPU, equilibrando automaticamente a carga?

Com base no que li aqui, parece que: link

No entanto, eu li em outro lugar que os ganhos de desempenho da CPU podem ser feitos atribuindo-se tabelas de banco de dados a grupos de arquivos diferentes, mas não tenho certeza de que queremos complicá-lo nesse ponto.

    
por ddavis 02.10.2012 / 16:30

2 respostas

4

O link que você forneceu é para o Max Degree of Parallelism. Esse recurso é completamente diferente do que você está perguntando.

O SQL Server usará a nova CPU adicionada ao seu servidor, desde que o sistema operacional possa vê-la e desde que a "Affinity Mask" esteja definida como 0 no SQL Server. Você precisa executar EXEC master.dbo.sp_configure 'affinity mask' de uma janela de consulta e examinar os resultados do config_value. Enquanto for 0, o SQL usará automaticamente a nova CPU. No entanto, antes de adicionar essa nova CPU, primeiro você precisa olhar para a edição do SQL que você está executando. O número máximo de CPUs suportadas é diferente por edição.

O link abaixo irá delinear os limites de cada um. Se você não sabe qual edição você tem, então pode executar SELECT SERVERPROPERTY('Edition') dessa mesma consulta para descobrir.

Número máximo de processadores suportados pelas edições do SQL Server 2008 R2

    
por 03.10.2012 / 03:04
0

Ganhos de desempenho da CPU podem ser feitos espalhando-se tabelas por grupos de arquivos, mas é meio indireto.

Quando o SQL Server deseja ler dados, ele emite solicitações e adormece o encadeamento que faz a solicitação até que o hardware de E / S atenda à solicitação. Se a sua consulta for feita em tabelas que estão em armazenamento físico separado ou armazenadas em tabelas que abrangem várias unidades físicas no mesmo sistema de arquivos, o SQL Server pode emitir várias solicitações de E / S. Isso torna a E / S mais rápida, o que significa que a CPU gastará menos tempo dormindo.

    
por 12.10.2012 / 23:32