Las controladoras smart array de Hewlett Packard Enterprise tienen diferentes opciones de configuración, dependiendo del sistema las opciones por defecto pueden suponer un deterioro del rendimiento…
Tomamos como base para las pruebas un servidor HPE Proliant DL360 Gen10 (P06453-B21) con controladora Smart Array P408i-a SR (836260-001) con 2 GB de caché, batería y 8 líneas SAS en 2 puertos internos. Esto nos vendrá bien para los test, ya que vamos a utilizar 4 discos SAS 10K de 1.2 TB (876938-002) en un puerto contra 4 discos SAS SSD de 800 GB 12G (P19913-B21) en el otro puerto. Ambos configurados en RAID 5 (256 KiB / 512 KiB) sin caché de escritura habilitada e inicializados correctamente:
NOTA: al crear por primera vez el RAID, el cálculo de paridad se añade en cola, dependiendo de la configuración de la controladora puede tardar en iniciar y terminar el proceso, además se deben escribir datos sobre la unidad para comenzar
El sistema operativo Windows Server 2019 está actualmente sobre los discos SAS, esta comparativa no busca el detalle con ciertos parámetros que para otros sistemas deberían tenerse más en cuenta, sino la configuración por defecto y la recomendada en estas situaciones. Los drivers, software, firmware están actualizados con el último Service Pack para ProLiant (SPP) disponible en marzo de 2024
Al realizar la copia de archivos inicial era lenta… esto no debería pasar con discos de estado sólido frente a los antiguos SAS de 10.000 rpm… así que realizamos pruebas de rendimiento… Preguntamos al soporte de HPE si existía una herramienta oficial para medir en estos entornos… a lo que nos derivó a herramientas de terceros sin comentar ninguna en concreto… Inicialmente probamos con CrystalDiskMark, ATTO disk benchmark y IsMyHdOk. Utilizaremos las de CrystalDiskMark para ilustrar los cambios y establecer puntos de referencia:
Vaya decepción… ¿como puede ser tan lenta una nueva unidad lógica sobre discos SSD? Aprovecho para especificar que los discos SSD son Mixed Use (MU) de entre todos los posibles, me repito, en otros entornos se debe evaluar en detalle las opciones disponibles. HPE implementa la funcionalidad Smart Path y la activa por defecto para los SSD… veamos si desactivándolo…
Bueno… pequeña diferencia en este entorno pero todavía muy lejos de los discos mecánicos… al desactivar Smart Path se vuelve a habilitar la cache para el volúmen pero es necesario hacerlo manualmente, aquí mismo podemos ajustar el porcentaje destinado a escritura o lectura:
Utilizaremos la caché de la controladora sobre las dos unidades lógicas:
Y volvemos a lanzar la prueba de rendimiento sobre la unidad:
Esto ya empieza a verse mejor en este escenario, aunque «ya que»… creo recordar que otro servidor más básico utilizaba SSD… vamos a «comparar» con un HPE ML110 Gen10 (P21440-421) con controladora S100i SR Gen 10 sin caché y discos SATA SSD Read Intensive 6G (8P18422-B21)
Curioso… se mejora en lectura… ¿entonces activo o desactivo, en qué quedamos? Si la controladora tiene caché y batería de respaldo, utilízala siempre, en discos SSD debes desactivar Smart Path para poder activarlo, en controladora más sencillas sí que puede suponer un pequeño aumento de rendimiento pero tocará hacer pruebas.
Para entornos reales en producción, mejor hacer mediciones en horas pico de uso si en el Monitor de recursos de Windows Server la longitud de la cola de disco permanece CONSTANTEMENTE por encima de 5-6 igual es momento de buscar otra solución en el almacenamiento…
Observaciones adicionales
Podemos diferenciar diferentes tipos de caché:
- Caché de escritura: acelera las operaciones de escritura, escribe los datos inicialmente en la caché y posteriormente, el controlador gestiona el proceso de vaciar los datos almacenados en caché en discos físicos.
- Caché de reescritura (write-back): los datos se escriben en el caché y se confirman ante el sistema host inmediatamente. Luego, el controlador vacía gradualmente los datos en los discos. Ofrece un rendimiento de escritura mejorado y reduce el impacto de la latencia en cargas de trabajo con muchas escrituras.
- Caché de escritura simultánea (write-through): escribe datos inmediatamente en la caché y en los discos simultáneamente. No proporciona el mismo nivel de mejora del rendimiento que el write-back, pero garantiza la durabilidad de los datos en caso de cortes de energía.
Los SSD de grado empresarial pueden tener su propia RAM ¿interna persistente? no queda claro en ninguna configuración si la controladora lo habilita o utiliza en exclusiva la suya propia… En SSD domésticos, por ejemplo, Samsung 980 no lleva DRAM pero la versión 980 Pro sí. Un pequeño caos de especificaciones y versiones…
La opción de SmartCache requiere de licencia (280 € PVP por servidor) por lo que no podemos probar la opción híbrida para almacenamiento, ni HPE suministra claves de prueba.
Los SSD requieren tácticas especiales para aprovechar al máximo sus capacidades de baja latencia. HPE SSD Smart Path permite el alto rendimiento de volúmenes lógicos basados en SSD al permitir que ciertos tipos de solicitudes de E/S tomen una ruta más directa a los discos físicos, sin pasar por la mayoría de las capas de firmware del controlador RAID. SSD Smart Path está habilitado de forma predeterminada cuando crea una matriz.
El software del controlador del dispositivo HPE Smart Array se coordina con el firmware del controlador HPE Smart Array para
- Mantenga la información de asignación de disco necesaria.
- Decida qué solicitudes de IO son elegibles para HPE SSD Smart Path.
Todas las demás solicitudes, así como cualquier manejo de errores, aún se enrutan a través de la ruta de E/S normal en el controlador HPE Smart Array. Este método tiene los siguientes beneficios:
- Beneficia las cargas de trabajo de E/S repetitivas y con mucha lectura utilizando la ruta acelerada.
- Libera más capacidad de manejo de IO en la ruta de IO normal.
Manual técnico de HPE
Comparativas extra
Otras referencias de mediciones
Pruebas de rendimiento de Samsung NVMe 980 Pro sobre AM4, no tiene que ver nada la tecnología, ni la plataforma pero por comparar…