Recomendações e diretrizes para a opção de configuração "grau máximo de paralelismo" no SQL Server

Traduções deste artigo Traduções deste artigo
ID do artigo: 2806535 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

O Microsoft SQL Server grau máximo de paralelismo Opção de configuração (MAXDOP) controla o número de processadores que são usados para a execução de uma consulta em um plano paralelo. Essa opção determina os recursos de computação e thread que são usados para os operadores de plano de consulta que realizam o trabalho em paralelo. Dependendo do SQL Server é definido em um computador de multiprocessamento simétrico (SMP), um computador de acesso (NUMA) de memória não-uniforme ou processadores hyperthreading ativado, você deve configurar o grau máximo de paralelismo opção adequadamente. Este artigo aborda as diretrizes gerais que você pode usar para configurar o grau máximo de paralelismo opção para SQL Server quando você usa o sistema sp_configure procedimento armazenado.

As Opção (MAXDOP) as dicas de consulta Transact-SQL podem substituir o grau máximo de paralelismoopção no valor sp_configure se a consulta especifica esta opção. No SQL Server 2000, a substituição tem efeito somente se o valor especificado na dica é menor ou igual ao valor sp_configure . No SQL Server 2005 e versões posteriores, a substituição sempre entra em vigor. No SQL Server 2008 e versões posteriores, se o valor MAXDOP exceder o valor que foi configurado usando o Resource Governor, o mecanismo de banco de dados usa o valor de Resource Governor MAXDOP. Todas as regras semânticas que são usadas com o grau máximo de paralelismoopção são aplicáveis ao usar a dica de consulta MAXDOP. As outras duas opções que podem substituir ou afetará a configuração MAXDOP são da seguinte maneira:
  • NUMA suave
  • Índice paralelo

Mais Informações

Observação O grau máximo de paralelismo opção de configuração faz não limitar o número de processadores que usa o SQL Server. Para configurar o número de processadores que usa o SQL Server, use o máscara de afinidade opção de configuração.

Use as seguintes diretrizes ao configurar o valor MAXDOP.

SQL Server 2005 e versões posteriores

  • Para servidores que usam mais de oito processadores, use a seguinte configuração:
    MAXDOP = 8
  • Para servidores que usam processadores de oito ou menos, use a seguinte configuração:
    MAXDOP = 0 paraN

    Observação Nessa configuração,N representa o número de processadores.
  • Para servidores que têm NUMA configurado, MAXDOP não deve exceder o número de CPUs que são atribuídos a cada nó NUMA.
  • Para servidores que tenham o hyperthreading ativado, o valor MAXDOP não deve exceder o número de processadores físicos.
  • Para servidores que têm NUMA configurado e hyperthreading ativado, o valor MAXDOP não deve exceder número de processadores físicos por nó NUMA.
Observação Utilize essas mesmas orientações ao definir o grau máximo de paralelismoopção para grupos de carga de trabalho do Gestor de recursos.

Além disso, o valor máximo de 8 mencionada nessas diretrizes é aplicável para atividade típica do SQL Server e a sobrecarga de operadores de exchange que são usados em planos de consulta paralela. Você pode variar esse valor máximo, dependendo de seus padrões de aplicativo específico e a atividade simultânea na instância do SQL Server. Por exemplo, considere as seguintes situações:
  • Se você tiver um número muito pequeno de consultas que estão sendo executados ao mesmo tempo, em comparação com o número de processadores, você pode definir o valor MAXDOP para um valor maior. Por exemplo, você pode definir o valor MAXDOP para 16.
  • Se você um têm grande número de consultas que estão sendo executados ao mesmo tempo, em comparação com o número de processadores, você pode definir o valor MAXDOP para um valor menor. Por exemplo, você pode definir o valor MAXDOP para 4.
Observação Qualquer valor que você considere o uso deve ser totalmente testado em relação a atividade do aplicativo específico ou padrão de consultas antes de implementar esse valor em um servidor de produção.

SQL Server 2000 e versões posteriores

Se o SQL Server usa um plano serial, ele usará apenas um processador. No entanto, se o SQL Server usa o paralelismo, ele deve usar todos os processadores configurados (conforme determinado pela configuração de dica de consulta MAXDOP) para a execução de um plano paralelo. Por exemplo, se você usar MAXDOP = 0 em um servidor de 32 vias, SQL Server tenta usar todos os processadores de 32 mesmo 7 processadores podem executar o trabalho mais eficiente em comparação com um plano serial que usa apenas um processador. Devido a esse comportamento tudo ou nada, se o SQL Server usa o plano paralelo e não restringir a dica de consulta MAXDOP para um valor máximo de 8, o tempo exigido pelo SQL Server para coordenar todos os processadores em um servidor high-end supera as vantagens de usar um plano paralelo.

A configuração MAXDOP aplica-se a cada etapa do plano. Cada etapa irá usar uma CPU ou o número de CPUs que é especificado por MAXDOP e nunca nada entre. Se as etapas executadas em paralelo, o número de segmentos usados pela consulta pode exceder a configuração MAXDOP.

Para a definição de MAXDOP, consulte o tópico "Máximo grau de paralelismo opção" ou a "Grau de paralelismo" no SQL Server.

Para entender como funciona o paralelismo, consulte a seção "Processamento de consulta paralela" no tópico "Arquitetura de processador de consulta" nos Manuais Online do SQL Server.

Informações adicionais

Para obter mais informações sobre consultas em paralelo, vá para o seguinte site da Microsoft Developer Network (MSDN):
Grau de paralelismo
Para informações sobre práticas recomendadas quando você estiver executando uma instância do SQL Server em computadores que têm mais de 64 CPUs, consulte o tópico Manuais Online do SQL Server a seguir:
Práticas recomendadas para a execução do SQL Server em computadores que têm mais de 64 CPUs
Para instâncias do SQL Server que estão sendo executados em processadores hyperthreading ativado, siga as recomendações no seguinte artigo na Base de dados de Conhecimento da Microsoft:
322385 Suporte do SQL Server em um ambiente hyper-threaded
Observação Essa recomendação não pode aplicar a chips para processadores mais recentes, como aqueles da família Intel Nehalem.

Para obter informações sobre o número de processadores que são usados pelo SQL Server e o número de nós NUMA que são reconhecidos pelo SQL Server, use o sys.dm_os_sys_info de modos de exibição de gerenciamento dinâmico e sys.dm_os_nodes. Para obter mais informações sobre a configuração MAXDOP que é aplicada usando o Resource Governor, revise as informações na sys.dm_resource_governor_workload_groups de modo de exibição de gerenciamento dinâmico.

Para obter mais informações sobre os produtos ou ferramentas que verificam automaticamente a essa condição na sua instância do SQL Server e sobre as versões do produto SQL Server, consulte a tabela a seguir:
Recolher esta tabelaExpandir esta tabela
Software de regraTítulo de regraDescrição da regraVersões do produto em relação à qual a regra será avaliada
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Grau de paralelismo não é definido como o valor recomendadoO SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) fornece uma regra para detectar essas condições onde o valor apropriado para o grau máximo de paralelismoopção não está configurada com o número de CPUs em um nó NUMA e também a configuração de carga de trabalho Resource Governor MAXDOP. O BPA do SQL Server 2008 R2 oferece suporte ao SQL Server 2008 e SQL Server 2008 R2.

Se você executa a ferramenta BPA e encontrar um aviso de "Mecanismo de banco de dados - grau de paralelismo não está definido para o valor recomendado", compare ograu máximo de paralelismovalor de opção e o valor MAXDOP de carga de trabalho do Gestor de recursos com os valores recomendados são especificados nas seções "Resumo" e "Mais informações".
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA)Grau de paralelismo não é definido como o valor recomendadoO SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) fornece uma regra para detectar essas condições onde o valor apropriado para grau máximo de paralelismoopção não está configurada com o número de CPUs em um nó NUMA e também a configuração de carga de trabalho Resource Governor MAXDOP.

Se você executa a ferramenta BPA e encontrar um aviso de "Mecanismo de banco de dados - grau de paralelismo não está definido para o valor recomendado", compare ograu máximo de paralelismovalor de opção e o valor MAXDOP de carga de trabalho do Gestor de recursos com os valores recomendados são especificados nas seções "Resumo" e "Mais informações".
SQL Server 2012

Propriedades

ID do artigo: 2806535 - Última revisão: quarta-feira, 6 de fevereiro de 2013 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
Palavras-chave: 
kbinfo kbmt KB2806535 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2806535

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