Procedimientos recomendados de E/S directa de Linux para Azure NetApp Files
Este artículo le ayuda a comprender los procedimientos recomendados de E/S directa para Azure NetApp Files.
E/S directa
El parámetro más común que se usa en los puntos de referencia de rendimiento del almacenamiento es la E/S directa. Es compatible con FIO y Vdbench. DISKSPD ofrece compatibilidad con una construcción similar de E/S asignada a memoria. Con la E/S directa, se omite la caché del sistema de archivos, se evitan las operaciones para la copia de acceso directo a memoria y las pruebas de almacenamiento se realizan de forma rápida y sencilla.
El uso del parámetro de E/S directa facilita las pruebas de almacenamiento. No se lee ningún dato de la memoria caché del sistema de archivos en el cliente. Por lo tanto, la prueba está realmente probando el esfuerzo del protocolo de almacenamiento y el propio servicio, en lugar de las velocidades de acceso a la memoria. Además, sin las copias de memoria de DMA, las operaciones de lectura y escritura son eficaces desde una perspectiva de procesamiento.
Tomemos el comando de Linux dd
como carga de trabajo de ejemplo. Sin la marca odirect
opcional, todas las operaciones de E/S generadas por dd
se sirven desde la caché del búfer de Linux. Las lecturas cuyos bloques ya están en la memoria no se recuperan del almacenamiento. Las lecturas que dan lugar a una pérdida de caché del búfer terminan siendo leídas desde el almacenamiento mediante la lectura por adelantado de NFS con resultados variables, en función de factores que se pueden ajustar como el valor de rsize
del montaje y la lectura adelantada del cliente. Cuando las escrituras se envían mediante la caché del búfer, usan un mecanismo de escritura subyacente que no se ha ajustado y usa una cantidad significativa de paralelismo para enviar los datos al dispositivo de almacenamiento. Puede intentar ejecutar dos secuencias independientes de E/S, una ejecución de dd
para las lecturas y otra ejecución de dd
para las escrituras. Pero de hecho, el sistema operativo, sin ajustar, favorece las escrituras sobre las lecturas y usa más paralelismo en ello.
Aparte de la base de datos, pocas aplicaciones usan las E/S directa. En su lugar, optan por aprovechar las ventajas de una caché de memoria grande para lecturas repetidas y una memoria caché de escritura subyacente para escrituras asincrónicas. En resumen, el uso de la E/S directa convierte la prueba en un micropunto de referencia si la aplicación que se sintetiza usa la memoria caché del sistema de archivos.
Estas son algunas bases de datos que admiten la E/S directa:
- Oracle
- SAP HANA
- MySQL (motor de almacenamiento InnoDB)
- RocksDB
- PostgreSQL
- Teradata
procedimientos recomendados
Probar con directio
es una excelente manera de comprender los límites del servicio de almacenamiento y el cliente. Para comprender mejor cómo se comporta la aplicación (si la aplicación no usa directio
), también debe ejecutar pruebas a través de la caché del sistema de archivos.
Pasos siguientes
- Procedimientos recomendados de caché del sistema de archivos de Linux para Azure NetApp Files
- Procedimientos recomendados de las opciones de montaje de NFS de Linux para Azure NetApp Files
- Procedimientos recomendados de simultaneidad de Linux para Azure NetApp Files
- Procedimientos recomendados de lectura anticipada de NFS en Linux
- Procedimientos recomendados de las SKU de máquinas virtuales de Azure
- Bancos de pruebas de rendimiento para Linux