Partilhar via


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

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 de afinidade de CPU e E/S para servidores com 33 a 64 processadores requer que você também use as opções de configuração do servidor de máscara de E/S affinity64 e affinity64, respectivamente.

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) high-end do SQL Server, essa extensão pode melhorar o desempenho de threads do SQL Server emitindo 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 bitmap no qual o bit mais à direita especifica a CPU de ordem mais baixa(0), o bit à sua esquerda imediata especifica a CPU de ordem mais baixa(1) e assim por diante. Para configurar mais de 32 processadores, defina o e o affinity I/O maskaffinity64 I/O mask.

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

Bytes na 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 um byte de 4 para affinity I/O mask as primeiras 32 CPUs e até 4 bytes affinity64 I/O mask para as CPUs restantes.

Um 1 pouco no padrão de E/S de afinidade especifica que a CPU correspondente está qualificada para executar operações de E/S de disco do SQL Server. Um 0 bit especifica que nenhuma operação de E/S de disco do SQL Server deve ser agendada para a 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 no affinity I/O mask switch e 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 affinity I/O mask na opção e 0 na affinity mask opção.
  • 0 affinity I/O mask na opção e 1 na affinity mask opção.

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 da CPU no sistema operacional Windows e também configure 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 de CPU do SQL Server é melhor configurada usando o procedimento armazenado do sp_configure sistema no SQL Server.