INF: Noções sobre como definir a opção de afinidade de E/s do SQL Server

Traduções de Artigos Traduções de Artigos
Artigo: 298402 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Este artigo explica o que é a afinidade de E/s e como utilizar a opção de afinidade de E/s está disponível no SQL Server 2000 SP1 ou posterior. Uma transacção online (OLTP) ambiente de processamento, a opção de afinidade de E/s pode fornecer melhoramento de desempenho em ambientes de SQL Server topo de gama, nível de empresa que são executados em computadores com CPU 16 ou mais. Esta opção suporta apenas SQL Server disco E/s e não suporta qualquer afinidade de hardware para disquetes individuais ou controladores de disco.

Mais Informação

SQL Server 2000 Service Pack 1 expande a funcionalidade da opção de configuração de máscara de afinidade do SQL Server 2000 introduzindo o parâmetro IO_affinity_mask.

A opção de configuração de máscara de afinidade definida no procedimento sp_configure armazenados permite-lhe especificar que CPU num computador com múltiplos processadores está a ser utilizado para executar threads de uma instância do SQL Server. Pode utilizar a opção de configuração de máscara de afinidade para excluir do SQL Server threads de processadores que pretende reservar para processos do sistema operativo. Para mais informações sobre a opção máscara de afinidade , consulte SQL Server 2000 Books Online. Do mesmo modo, IO_affinity_mask permite-lhe especificar a CPU está configurado para executar threads do SQL Server relacionado com operações de E/s.

Quando estiver a executar uma instância do SQL Server em computadores com múltiplos processadores grandes, o nível de empresa com mais de 16 CPU, pode obter vantagens de desempenho adicionais utilizando o parâmetro IO_affinity_mask em conjunto com a opção de máscara de afinidade . Isto fornece a capacidade para especificar que é affinitized CPU para operações de disco do SQL Server e que CPU serviço o restante processamento associado ao SQL Server.

Em quase todos os casos, deixando IO_affinity_mask na predefinição definição resulta num melhor desempenho. Alguns sites poderão ver uma melhoria no desempenho definindo a opção IO_affinity_mask .

Pode criar um congestionamento do desempenho para requisitos de CPU relacionados disco não se o número de CPUs atribuída a processamento de E/S de disco do SQL Server for mais do que o sistema que necessita para processamento de E/S do disco. Por outro lado, um congestionamento do desempenho de disco E/S poderão ser criadas se activar menos CPU para processamento de E/S de disco do SQL Server que o sistema que necessita para processamento de E/S do disco.

Para activar a opção IO_affinity_mask , tem de adicionar um parâmetro de entrada extra estático como um parâmetro de arranque do SQL Server Enterprise Manager ou linha de comandos sqlservr. (Actualmente, esta opção não está disponível para o procedimento armazenado sp_configure .) Por exemplo:

-I<IO_affinity_mask>

Uma descrição e informações sobre IO_affinity_mask da seguinte forma:

  • Especificar CPU num computador com múltiplos processadores é elegível para processar operações de E/s do disco do SQL Server.
  • IO_affinity_mask é um número que pode ser especificado em decimal (não particularmente útil para um grande número de CPUs) ou hexadecimal se precedido por '0 x' ou ' 0 X '.
  • A máscara é um mapa de bits na qual o bit mais à direita Especifica CPU(0) ordem mais baixa, o bit mais à direita seguinte especifica CPU(1) ordem mais baixa seguinte e assim sucessivamente.
  • Um um byte IO_affinity_mask abrange CPU até 8 num computador com múltiplos processadores, uma máscara de dois bytes abrange até 16 CPUs, uma máscara de três bytes abrange CPU até 24 e uma máscara de quatro bytes abrange CPU até 32.
  • Um bit no padrão Especifica que a CPU correspondente é elegível para executar operações de E/S de disco do SQL Server; um bit de zero especifica que nenhuma operação de E/S de disco do SQL Server é para ser agendado para a CPU correspondente.
  • Quando todos os bits são definidos como 0 ou IO_affinity_mask não for especificado, E/s do disco do SQL Server está agendada para qualquer um das CPU elegíveis para processar threads do SQL Server.
  • O valor do parâmetro IO_affinity_mask não pode ser alterado durante a execução do SQL Server. Para alterar o parâmetro IO_affinity_mask tem de encerrar a instância do SQL Server e, em seguida, reiniciá-lo com um novo valor especificado para IO_affinity_mask .
SQL Server 2000 interpreta os bits IO_affinity_mask da mesma forma que interpreta os bits de máscara de afinidade .

Se especificar o parâmetro IO_affinity_mask , a Microsoft sugere que o utiliza em conjunto com a opção de configuração de máscara de afinidade . Certifique-se de que não activar uma CPU para ambas as a IO_affinity_mask parâmetro e affinity_mask opção.

Os bits correspondente a cada CPU devem ser de uma das seguintes três estados:
  • 0 no parâmetro IO_affinity_mask e a opção de máscara de afinidade .
  • 1 no parâmetro IO_affinity_mask e 0 na opção de máscara de afinidade .
  • 0 no parâmetro IO_affinity_mask e 1 na opção de máscara de afinidade .
Por exemplo, considere um computador de processador de 32 com o SQL Server, que requer a configuração seguinte:
  • SQL Server para utilizar 24 esgotada as 32 CPU disponível.
  • Atribuir 8 CPU no disco do SQL Server E/S e 16 CPU para todos os outro processamento do SQL Server.
Para obter esta configuração, utilize estes passos:
  1. Definir a opção máscara de afinidade para associar o SQL Server 16 CPU para processamento de SQL Server seja o disco E/s:
      sp_configure "affinity mask", 0x0000FFFF
      go
      reconfigure with override
      go
    					
  2. Encerramento do SQL Server.
  3. Inicia o SQL Server com o parâmetro seguinte. Isto configura o SQL Server para utilizar a 8 CPU para E/s de disco:
      sqlservr -I0x00FF0000
    					
SQL Server requer sistemas para suportar ? garantida a entrega de multimédia estável ? conforme descrito no programa do Microsoft SQL Server Always-On armazenamento solução de revisão. FOPara obter mais informações sobre os requisitos de entrada e saídas para o motor de base de dados do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
967576Requisitos de motor de entrada/saída do Microsoft SQL da base de dados do servidor

Propriedades

Artigo: 298402 - Última revisão: 26 de outubro de 2007 - Revisão: 1.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Service Pack 1
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
Palavras-chave: 
kbmt kbproductlink kbinfo kbsqlserv2000sp1fix KB298402 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 298402

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com