Configuração do servidor: máscara de afinidade de E/S

Aplica-se a:SQL Server

Para realizar multitarefas, o Windows às vezes move threads de processo entre diferentes processadores. Embora eficiente do ponto de vista do sistema operacional, essa atividade pode reduzir o desempenho do SQL Server sob cargas pesadas do sistema, pois cada cache do processador é repetidamente recarregado com dados. A atribuição de processadores a threads específicos pode melhorar o desempenho nessas condições, eliminando as recargas do processador; Essa associação entre um thread e um processador é chamada de afinidade de processador.

O SQL Server oferece suporte à afinidade do processador com duas opções de máscara de afinidade: affinity mask (também conhecida como máscara de afinidade da CPU) e affinity I/O mask. Para obter mais informações sobre a opção, consulte Configuração do affinity maskservidor: máscara de afinidade. O suporte para afinidade de CPU e de E/S em servidores com 33 a 64 processadores requer também a utilização, respetivamente, das opções de configuração do servidor affinity64 mask e affinity64 I/O mask.

Observação

O suporte de afinidade para servidores com processadores de 33 a 64 só está disponível em sistemas operacionais de 64 bits.

A affinity I/O mask opção vincula a E/S de disco do SQL Server a um subconjunto especificado de CPUs. Em ambientes OLTP (processamento transacional online) de gama alta do SQL Server, esta extensão pode melhorar o desempenho das threads do SQL Server que emitem operações de E/S. Esta melhoria não suporta afinidade de hardware para discos individuais ou controladores de disco.

O valor para affinity I/O mask especifica quais CPUs em um computador multiprocessador são qualificadas para processar operações de E/S de disco do SQL Server. A máscara é um mapa de bits no qual o bit mais à direita especifica a CPU de ordem mais baixa (0), o bit imediatamente à sua esquerda especifica a CPU seguinte na ordem crescente (1), e assim por diante. Para configurar mais de 32 processadores, defina ambos: o affinity I/O mask e o affinity64 I/O mask.

Os valores para affinity I/O mask são os seguintes:

Bytes em máscara Número de CPUs
1 byte Até 8 CPUs
2 bytes Até 16 CPUs
3 bytes Até 24 CPUs
4 bytes Até 32 CPUs

Para cobrir mais de 32 CPUs, configure 4 bytes de affinity I/O mask para as primeiras 32 CPUs e até 4 bytes de affinity64 I/O mask para as CPUs restantes.

Um 1 bit no padrão de afinidade de E/S especifica que a CPU correspondente está apta a executar operações de E/S de disco do SQL Server. Um bit 0 especifica que não devem ser agendadas operações de E/S em disco do SQL Server para o CPU correspondente. Quando todos os bits são definidos como 0, ou affinity I/O mask não são especificados, a E/S de disco do SQL Server é agendada para qualquer uma das CPUs qualificadas para processar threads do SQL Server.

Como definir a opção SQL Server affinity I/O mask é uma operação especializada, use-a somente quando necessário. Na maioria dos casos, a afinidade padrão do Windows fornece o melhor desempenho.

Ao especificar a affinity I/O mask opção, você deve usá-la com a affinity mask opção de configuração. Não ative a mesma CPU tanto no affinity I/O mask interruptor como na affinity mask opção. Os bits correspondentes a cada CPU devem estar em um dos três estados a seguir:

  • 0 tanto na affinity I/O mask opção como na affinity mask opção.
  • 1 na opção affinity I/O mask e 0 na opção affinity mask.
  • 0 na opção affinity I/O mask e 1 na opção affinity mask.

A affinity I/O mask opção é uma opção avançada. Se estiver a utilizar o procedimento armazenado do sp_configure sistema para alterar a definição, só pode alterar affinity I/O mask quando show advanced options estiver definido como 1. No SQL Server, a reconfiguração da affinity I/O mask opção requer uma reinicialização da instância do SQL Server.

Atenção

Não configure a afinidade do CPU no sistema operativo Windows nem o affinity mask no SQL Server. Essas configurações estão tentando obter o mesmo resultado e, se as configurações forem inconsistentes, você poderá ter resultados imprevisíveis. A afinidade do CPU no SQL Server é melhor configurada através do procedimento armazenado de sistema sp_configure no SQL Server.