El rendimiento del disco es crítico para el rendimiento del SQL Server. La creación de particiones con el desplazamiento correcto y el formato de los discos con el tamaño de unidad de asignación correcta es esencial para obtener el máximo rendimiento de las unidades que tienes. Siempre he dicho que el desplazamiento de la partición de un disco debe ser ajustado a 32K y el tamaño de la unidad de asignación establecida en 64KB para las particiones que contienen datos y 8K para las particiones que contienen los registros. ¿Cómo se puede establecer estos parámetros correctamente?
El tamaño de la unidad de asignación también se conoce como el tamaño del clúster. En este artículo voy a mostrar cómo configurarlos de acuerdo a las mejores prácticas. La configuración que voy a utilizar es la sugerida por Microsoft. Es un punto de partida, pero cada sistema de disco debe ser probado para verificar que se consigue el rendimiento óptimo.
La unidad que yo voy a trabajar es mi disco 1. Es un conjunto de unidades SATA directamente agregados a mi servidor y dentro de un hardware (controlador) RAID 5. Echemos un vistazo al tamaño de la unidad de asignación antes de cambiar:
Antes de crear la partición, el original tiene que ser eliminado, por supuesto, después de que hayas realizado una copia de seguridad o movido los datos. El complemento Administración de equipos en el MMC puede hacer eso o se puede hacer con la herramienta DISKPART. Aquí el comando DISKPART se utiliza para eliminar la partición 1 del disco 1. Esta fue la unidad L:.
Ahora es el momento de crear la nueva partición. En Microsoft Windows 2008 se cambió el desplazamiento predeterminada de la partición a 1024K. Este número se supone que alinean bien con arreglos RAID y SANS. Usaré 1024K en lugar de 32K.
DISKPART muestra la partición en el byte 1024 de desplazamiento:
Sin embargo, desde que DISKPART redondea el desplazamiento, la herramienta correcta a utilizar es WMIC, especialmente la consulta ««wmic partition get BlockSize, StartingOffset, Name, Index«, que se muestra aquí:
El valor de 1048576 es exactamente un megabyte y es la alineación adecuada para la mayoría del tiempo. Otro hardware, tal como los SANs, puede ser que necesiten una alineación diferente y tendrás que consultar al fabricante sobre lo que es mejor para tu hardware.
Lo siguiente es asignar una letra de unidad al volumen con DISKPART. El subcomando «list volume» de DISKPART primero nos muestra los volúmenes disponibles. El nuevo volumen es el # 1. Se selecciona y se asigna la letra L.
Por último, el formato de la unidad con el tamaño de unidad de asignación deseada de 64 kilobytes Por supuesto, el sistema de archivos es NTFS. Yo uso DATA como nombre de volumen debido a que L: va a ser una unidad de datos. Aquí está la salida del formato:
La unidad L: ahora tiene el desplazamiento y el formato que yo quiero. ¿Tiene el mejor desempeño? Sabiendo eso, vamos a correr SQLIO en el disco.
Una advertencia. Al formatear sin el modificador /Q Windows llena de ceros los bloques en el disco, esto puede tomar mucho tiempo. Añadir la opción /Q (formato rápido)si no deseas esperar.
Consideraciones
- Corregir el desplazamiento de la partición y el tamaño de la unidad de asignación de las unidades donde el rendimiento puede ser mejorado.
- Repite el proceso de benchmarking (evaluación comparativa) com SQLIO de las unidades para verificar que los cambios tengan el efecto deseado.