Práticas recomendadas para executar o SQL Server em computadores com mais de 64 CPUs

Este tópico fornece informações de práticas recomendadas a serem consideradas durante a execução de uma instância do SQL Server em computadores com mais de 64 CPUs.

Atribuindo threads de hardware a CPUs

Não use as opções de configuração de servidor affinity mask e affinity64 mask para associar processadores a threads específicos. Estas opções se limitam a 64 CPUs. Use ALTER SERVER CONFIGURATION (Transact-SQL).

Gerenciando o tamanho do arquivo de logs de transações

Não confie no aumento automático para aumentar o tamanho do arquivo do log de transação. O aumento do log de transação deve ser um processo serial. A extensão do log pode impedir a continuação de operações de gravação de transação até que a extensão de log seja concluída. Pré-aloque espaço para os arquivos de log definindo o tamanho de arquivo com um valor grande o suficiente para dar suporte à carga de trabalho comum no ambiente.

Definindo o grau máximo de paralelismo para operações de índice

O desempenho de operações de índice como a criação ou recriação de índices pode melhorar em computadores com muitas CPUs; basta definir temporariamente o modelo de recuperação do banco de dados como modelo bulk-logged ou de recuperação simples. Essas operações de índice podem gerar atividade de log significativa e a contenção de log pode afetar a opção DOP (melhor grau de paralelismo) definida pelo SQL Server.

Além disso, procure ajustar a configuração de MAXDOP (grau máximo de paralelismo) para essas operações. As diretrizes a seguir se baseiam em testes internos e são recomendações gerais. Experimente diferentes configurações de MAXDOP para determinar a configuração ideal para o seu ambiente.

  • Para o modelo de recuperação completo, limite o valor da opção grau máximo de paralelismo a oito ou menos.

  • Para o modelo bulk-logged ou o modelo de recuperação simples, procure definir o valor da opção grau máximo de paralelismo como superior a oito.

  • Para servidores com o item NUMA configurado, o grau máximo de paralelismo não deve exceder o número de CPUs atribuídos a cada nó NUMA. Isso ocorre pois é mais provável que a consulta utilize memória local de 1 nó NUMA, podendo melhorar o tempo de acesso à memória.

  • Para servidores com hyper-threading habilitado e fabricados em 2009 ou antes, o valor MAXDOP não deve exceder o número de processadores físicos.

Para obter mais informações sobre a opção max degree of parallelism, consulte Grau de paralelismo.

Configurando o número máximo de threads de trabalho

Sempre defina o número máximo de threads de trabalho para ser superior à configuração para o grau máximo de paralelismo. O número de threads de trabalho sempre deve ser definido como um valor de pelo menos sete vezes o número de CPUs presentes no servidor. Para obter mais informações, consulte Opção max worker threads.

Usando o Rastreamento do SQL e o SQL Server Profiler

É recomendável que você não use o Rastreamento do SQL e o SQL Server Profiler em um ambiente de produção. A sobrecarga para a execução dessas ferramentas também aumenta à medida que o número de CPUs cresce. Se você usar o Rastreamento do SQL em um ambiente de produção, limite o número de eventos de rastreamento a um nível mínimo. Crie perfis e teste cuidadosamente cada evento de rastreamento sob carga e evite usar combinações de eventos que afetem o desempenho de modo significativo.

Configurando o número de arquivos de dados tempdb.

Em geral, o número de arquivos de dados tempdb deve corresponder ao número de CPUs. No entanto, ao considerar cuidadosamente as necessidades de simultaneidade de tempdb, você pode reduzir o gerenciamento do banco de dados. Por exemplo, se um sistema tiver 64 CPUs e geralmente apenas 32 consultas usam tempdb, o aumento do número de arquivos tempdb para 64 não melhorará o desempenho. Para obter mais informações, consulte Otimizando o desempenho de tempdb.

Componentes do SQL Server que podem usar mais de 64 CPUs

A tabela a seguir lista os componentes do SQL Server e indica se eles podem usar mais de 64 CPUs.

Nome do processo

Programa executável

Usar mais de 64 CPUs

Mecanismo de banco de dados do SQL Server

Sqlserver.exe

Sim

Reporting Services

Rs.exe

Não

Analysis Services

As.exe

Não

Integration Services

Is.exe

Não

Service Broker

Sb.exe

Não

Pesquisa de texto completo

Fts.exe

Não

SQL Server Agent

Sqlagent.exe

Não

SQL Server Management Studio

Ssms.exe

Não

Instalação do SQL Server

Setup.exe

Não