SharePoint: SQL Server MAXDOP = 1 – é realmente necessário?

Olá SharePointers,

Hoje vou falar um pouco do MAXDOP (já ouviram falar?). MAXDOP é a propriedade no SQL Server que define o grau máximo de paralelismo (aka: Max Degree Of Parallelism) para as queries do SQL.

A microsoft recomenda que, para instâncias do SQL dedicadas ao SharePoint, esse valor seja fixado com 1 para uma performance otimizada (Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)). Muito embora, até a versão 2010 do SharePoint encontramos várias instalações com configurações diferentes desse valor, isso não era um “blocker”. Na versão 2013 do SharePoint, isso passou a ser um blocker de instalação. Veja abaixo:

New-SPConfigurationDatabase : This SQL Server instance does not have the required "max degree of parallelism" setting of 1. Database provisioning operations will continue to fail if "max degree of parallelism" is not set 1 or the current account does not have permissions to change the setting. See documentation for details on manually changing the setting

3225_MAXDOP_0_png-550x0

Ainda de acordo com a Microsoft, o MAXDOP serve para mostrar para o SQL como aplicar o paralelismo, ou seja, se o MAXDOP estiver setado em 0 (valor default) o SQL detecta o melhor grau de paralelismo de acordo com a quantidade de CPUs disponíveis.

Se estiver setado em 1, os “parallels plans” são desabilitados por default.

Qualquer valor diferente disso serve para definir um grau específico.

 

Mas então o SharePoint não utiliza paralelismo? Certo?

ERRADO! Por questões de performance a melhor opção de performance é desabilitar esse recurso, mas, quando o SharePoint precisa, ele define Hints de paralelismo direto nas stored procedures (mais de 150 SP’s !!).

 

Para mais informações sobre o assunto, acessem os links abaixo:

 

2 ideias sobre “SharePoint: SQL Server MAXDOP = 1 – é realmente necessário?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *