Saiba a melhor forma de calcular o MAXDOP na sua instância SQL Server
A melhor forma de calcular o MAXDOP no SQL Server vai depender do footprint do seu processador e do NUMA NODE configurado para sua instância.
Para facilitar melhor a sua e a nossa vida, eu vou deixar disponível aqui um script que já faz o cálculo de todas as informações necessárias para trazer o resultado que estamos querendo obter. Veja abaixo:
DECLARE @RELACAOHYPERTHREADING BIT DECLARE @CPULOGICOS INT DECLARE @HTATIVADO INT DECLARE @CPUFISICO INT DECLARE @SOCKET INT DECLARE @CPULOGICOPORNUMA INT DECLARE @NODENUMA INT SELECT @CPULOGICOS = CPU_COUNT -- [Contador Lógico de CPU] , @RELACAOHYPERTHREADING = HYPERTHREAD_RATIO -- [Hyperthread Ratio] , @CPUFISICO = CPU_COUNT / HYPERTHREAD_RATIO -- [Contador Físico de CPU] , @HTATIVADO = CASE WHEN CPU_COUNT > HYPERTHREAD_RATIO THEN 1 ELSE 0 END -- HTAtivado FROM SYS.DM_OS_SYS_INFO OPTION (RECOMPILE); SELECT @CPULOGICOPORNUMA = Count(PARENT_NODE_ID) -- [NumeroDeProcessadoresPorNuma] FROM SYS.DM_OS_SCHEDULERS WHERE [STATUS] = 'VISIBLE ONLINE' AND PARENT_NODE_ID < 64 GROUP BY PARENT_NODE_ID OPTION (RECOMPILE); SELECT @NODENUMA = Count(DISTINCT PARENT_NODE_ID) FROM SYS.DM_OS_SCHEDULERS -- Encontrar Nº de NUMA Nodes WHERE [STATUS] = 'VISIBLE ONLINE' AND PARENT_NODE_ID < 64 -- Recomendações .... SELECT --- 8 or less processors and NO HT enabled CASE WHEN @CPULOGICOS < 8 AND @HTATIVADO = 0 THEN 'A configuração MAXDOP deve ser : ' + Cast(@CPULOGICOS AS VARCHAR(3)) --- 8 ou mais processadores e NO HT habilitado WHEN @CPULOGICOS >= 8 AND @HTATIVADO = 0 THEN 'A configuração MAXDOP deve ser : 8' --- 8 ou mais processadores e HT ativado e NO NUMA WHEN @CPULOGICOS >= 8 AND @HTATIVADO = 1 AND @NODENUMA = 1 THEN 'A configuração MAXDOP deve ser : ' + Cast(@CPULOGICOPORNUMA / @CPUFISICO AS VARCHAR(3 )) --- 8 ou mais processadores e HT ativado e NUMA WHEN @CPULOGICOS >= 8 AND @HTATIVADO = 1 AND @NODENUMA > 1 THEN 'A configuração MAXDOP deve ser : ' + Cast(@CPULOGICOPORNUMA / @CPUFISICO AS VARCHAR(3 )) ELSE '' END AS Recommendations
Qual a melhor forma de calcular o MAXDOP no SQL Server
The following two tabs change content below.
Wesley Mota
DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.
Latest posts by Wesley Mota (see all)
- Free Blackjack No Download: Appreciate Blackjack Anytime, Anywhere - novembro 25, 2024