Configure o tempdb para reduzir a contenção - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configure o tempdb para reduzir a contenção

Recomendamos que você configure o tempdb com vários arquivos de dados do mesmo tamanho e com o mesmo fator de crescimento.

Em um servidor de banco de dados ocupado, que usa muito o tempdb, você pode notar um bloqueio severo quando o servidor está sob uma carga pesada. Você pode notar que as tarefas estão aguardando recursos de espera que apontam para páginas em tempdb. Essas páginas podem ser páginas de Page Free Space (PFS) e Shared Global Allocation Map (SGM) que têm o formato 2:x: x (por exemplo, 2:1:1 ou 2:1:2).

Para melhorar a simultaneidade do tempdb, você pode aumentar o número de arquivos de dados no tempdb para maximizar a largura de banda do disco e reduzir a contenção nas estruturas de alocação. Veja aqui algumas diretrizes:

  • Se o número de processadores lógicos for igual ou menor que 8: use o mesmo número de arquivos de dados e processadores lógicos.

  • Se o número de processadores lógicos for maior que 8: use 8 arquivos de dados.

Se a contenção persistir, aumente o número de arquivos de dados em múltiplos de 4 até que a contenção seja corrigida e até o número de processadores lógicos no servidor. Isso ajudará a evitar a contenção do SGAM no tempdb. Se você estiver usando o SQL Server 2014 ou uma versão anterior, também precisará habilitar o trace flag 1118. Esse sinalizador força as alocações de páginas em extensões uniformes em vez de extensões mistas, o que minimiza as digitalizações na página SGAM e reduz a contenção.

Começando com o SQL Server 2016 (13.x), esse comportamento é controlado pelas opções AUTOGROW_SINGLE_FILE e AUTOGROW_ALL_FILES do ALTER DATABASE. Por exemplo:

alter database <database name> MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES

Para obter mais informações sobre a configuração dessas opções, consulte a documentação do Microsoft SQL Server.