Beneficios do Allocation Unit Size para o SQL Server

Olá amigos, tudo bem?

Hoje vou postar uma dica que pode ajudar muito o seu ambiente em relação ao desempenho do disco. Em algum momento você já alterou a alocação do disco no Windows?

Com este artigo, você irá repensar sobre esta questão, pois normalmente, quando recebemos um novo servidor, apenas ficamos atentos à questões do array de discos, sempre ficando entre RAID 1, RAID 5 ou RAID 10, mas já pensou em qual formatação utilizar em seu disco?

AllocationUnitSize_Figura01

Normalmente, recebemos o disco conforme a imagem acima e o passo que executamos é iniciar este disco e iniciar a formatação, quando chegamos nesta imagem:

AllocationUnitSize_Figura02

A opção “Allocation unit size”, pode ser para muitos DBAs um ponto que passa desapercebido e acabam sempre utilizando o Default, significando que a alocação será de 4K.

Como sabemos o SQL Server internamente armazena suas informações em páginas de 8K, também é dito que um extent no SQL Server corresponde à 8 conjuntos de páginas, ou seja, 8 pages * 8K = 1 Extent = 64k.

Se olharmos para o Windows Server vamos observar que temos disponível a opção de formatar nossos discos com uma alocação de 64k o que é perfeito para nós! De uma forma simplista, podemos dizer que “o SQL Server com apenas um movimento poderá ler/gravar no disco um extent completo”.

A Microsoft tem muitas documentações e esse tipo de detalhe você encontra se vasculhar bastante a internet, fique tranquilo que a garantia desta ser a melhor opção está aqui:
“NTFS Allocation Unit Size: When formatting the partition that will be used for SQL Server data files, it is recommended that you use a 64-KB allocation unit size for data, logs, and tempdb. Be aware however, that using allocation unit sizes greater than 4 KB results in the inability to use NTFS compression on the volume. SQL Server, although it is not recommended that you use this, does support read-only data on compressed volumes.” https://technet.microsoft.com/en-us/library/cc966412.aspx

Desconsidere o trecho “SQL Server, although it is not recommended that you use this, does support read-only data on compressed volumes.” você não tem porque utilizar a compressão de arquivos que o Windows faz (é quando seu arquivo de dados fica azul).

Com essas considerações, podemos então utilizar o disco com uma formatação igual a 64K:

AllocationUnitSize_Figura03

Legal não é mesmo? Faça um teste em seu ambiente e diga se foi melhor ou não o desempenho aqui nos comentários.
Enfim, eu testei em um ambiente virtual e os resultados foram positivos.

Realize testes e observe que os resultados serão muito melhores, para isto use a ferramenta SQLIO, que em outro momento irei abordar como utilizá-la.

Obrigado por estar aqui!
Vithor da Silva e Silva | DBA SQL Server
vithor@vssti.com.br

 

2 thoughts on “Beneficios do Allocation Unit Size para o SQL Server”

Deixe uma resposta