View a markdown version of this page

Consejos de rendimiento - FSx para Lustre

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Consejos de rendimiento

Cuando utilice Amazon FSx para Lustre, tenga en cuenta los siguientes consejos de rendimiento. Para conocer los límites de servicio, consulte Cuotas de servicio para Amazon FSx for Lustre.

  • I/O Tamaño medio: dado que Amazon FSx for Lustre es un sistema de archivos de red, cada operación de archivos pasa por un viaje de ida y vuelta entre el cliente y Amazon FSx for Lustre, lo que supone una pequeña sobrecarga de latencia. Debido a esta latencia por operación, el rendimiento general generalmente aumenta a medida que aumenta el I/O tamaño promedio, ya que la sobrecarga se amortiza con una mayor cantidad de datos.

  • Modelo de solicitud: Al activar las escrituras asíncronas en el sistema de archivos, las operaciones de escritura pendientes se almacenan en el búfer de memoria en la instancia de Amazon EC2 antes de escribirse en Amazon FSx para Lustre de forma asíncrona. Las escrituras asíncronas suelen tener latencias menores. Cuando se realizan escrituras asíncronas, el kernel utiliza memoria adicional para el almacenamiento en caché. Un sistema de archivos que haya habilitado las escrituras síncronas emite solicitudes síncronas a Amazon FSx para Lustre. Cada operación realizará un recorrido de ida y vuelta entre el cliente y Amazon FSx para Lustre.

    nota

    El modelo de solicitud elegido tiene contrapartidas en la coherencia (si utiliza varias instancias de Amazon EC2) y en la velocidad.

  • Limite el tamaño del directorio: para lograr un rendimiento óptimo de los metadatos en los sistemas de archivos Persistent 2 de FSx para Lustre, limite cada directorio a menos de 100 000 archivos. Al limitar el número de archivos de un directorio, se reduce el tiempo requerido para que el sistema de archivos bloquee el directorio principal.

  • Instancias de Amazon EC2: las aplicaciones que realizan un gran número de operaciones de lectura y escritura probablemente necesitan más memoria o capacidad de computación que las aplicaciones que no. Cuando lance sus instancias de Amazon EC2 para su carga de trabajo de cómputo intensivo, elija los tipos de instancia que tengan la cantidad de estos recursos que su aplicación necesita. Las características de desempeño de los sistemas de archivos de Amazon FSx para Lustre no dependen del uso de instancias optimizadas para Amazon EBS.

  • Se recomienda ajustar las instancias de cliente para obtener un rendimiento óptimo

    1. Para tipos de instancia de cliente con memoria de más de 64 GiB, recomendamos aplicar el siguiente ajuste:

      sudo lctl set_param ldlm.namespaces.*.lru_max_age=600000 sudo lctl set_param ldlm.namespaces.*.lru_size=<100 * number_of_CPUs>
    2. Para tipos de instancia de cliente con más de 64 núcleos vCPU, recomendamos aplicar el siguiente ajuste:

      echo "options ptlrpc ptlrpcd_per_cpt_max=32" >> /etc/modprobe.d/modprobe.conf echo "options ksocklnd credits=2560" >> /etc/modprobe.d/modprobe.conf # reload all kernel modules to apply the above two settings sudo reboot

      Una vez montado el cliente, es necesario aplicar el siguiente ajuste:

      sudo lctl set_param osc.*OST*.max_rpcs_in_flight=32 sudo lctl set_param mdc.*.max_rpcs_in_flight=64 sudo lctl set_param mdc.*.max_mod_rpcs_in_flight=50
    3. Para optimizar el rendimiento de las listas de directorios (ls), es necesario aplicar los siguientes ajustes:

      sudo lctl set_param llite.*.statahead_max=512 sudo lctl set_param llite.*.statahead_agl=1 if sudo lctl get_param llite.*.statahead_xattr > /dev/null 2>&1; then sudo lctl set_param llite.*.statahead_xattr=1 else echo "Warning: Xattr statahead is not supported on this Lustre client. Please upgrade to the latest Lustre 2.15 client to apply this tuning" fi

    Tenga en cuenta que se sabe que lctl set_param no persiste durante el reinicio. Dado que estos parámetros no pueden establecerse permanentemente desde el lado del cliente, se recomienda implementar una tarea cron de arranque para establecer la configuración con los ajustes recomendados.

  • Equilibrio de la carga de trabajo entre los OST: en algunos casos, la carga de trabajo no impulsa el rendimiento total que puede ofrecer el sistema de archivos (200 MBps por TiB de almacenamiento). Si es así, puede utilizar CloudWatch las métricas para solucionar problemas si el rendimiento se ve afectado por un desequilibrio en los I/O patrones de la carga de trabajo. Para identificar si esta es la causa, consulte la CloudWatch métrica Maximum de Amazon FSx for Lustre.

    En algunos casos, esta estadística muestra una carga igual o superior a 240 MBps de rendimiento (la capacidad de rendimiento de un único disco de 1,2 TiB de Amazon FSx para Lustre). En estos casos, la carga de trabajo no se distribuye uniformemente entre los discos. Si este es el caso, puede usar el comando lfs setstripe para modificar la división de archivos a los que su carga de trabajo accede con más frecuencia. Para obtener un rendimiento óptimo, distribuya los archivos con requisitos de alto rendimiento en todos los OST que componen su sistema de archivos.

    Si los archivos se importan de un repositorio de datos, puede adoptar otro enfoque para distribuir los archivos de alto rendimiento de manera uniforme en todos los OST. Para ello, puede modificar el parámetro ImportedFileChunkSize al crear su próximo sistema de archivos Amazon FSx para Lustre.

    Por ejemplo, supongamos que su carga de trabajo utiliza un sistema de archivos de 7,0 TiB (que se compone de 6 OST de 1,17 TiB) y necesita impulsar un rendimiento alto a través de archivos de 2,4 GiB. En este caso, puede establecer el valor ImportedFileChunkSize en (2.4 GiB / 6 OSTs) = 400 MiB para que los archivos se distribuyan uniformemente entre los OST del sistema de archivos.

  • Lustrecliente para IOPS de metadatos: si su sistema de archivos tiene una configuración de metadatos especificada, le recomendamos que instale un cliente Lustre 2.15 o Lustre 2.12 con una de estas versiones de sistema operativo: Amazon Linux 2023; Amazon Linux 2; Red Hat/Rocky Linux 8.9, 8.10 o 9.x; CentOS 8.9 u 8.10; Ubuntu 22+ con kernel 6.2, 6.5 o 6.8; o Ubuntu 20.

Intelligent-Tiering consideraciones de rendimiento

Estas son algunas consideraciones importantes sobre el rendimiento cuando se trabaja con sistemas de archivos que utilizan la clase Intelligent-Tiering de almacenamiento:

  • Las cargas de trabajo que leen datos con I/O tamaños más pequeños requerirán una mayor simultaneidad e incurrirán en más costes de solicitud para lograr el mismo rendimiento que las cargas de trabajo que utilizan I/O tamaños grandes debido a la mayor latencia de los niveles de almacenamiento. Intelligent-Tiering Recomendamos configurar la caché de lectura de la SSD con un tamaño lo suficientemente grande como para soportar una mayor simultaneidad y rendimiento cuando se trabaja con tamaños de E/S más pequeños.

  • La cantidad máxima de IOPS de disco que sus clientes pueden manejar con un sistema de Intelligent-Tiering archivos depende de los patrones de acceso específicos de su carga de trabajo y de si usted ha aprovisionado una caché de lectura SSD. En el caso de las cargas de trabajo con acceso aleatorio, los clientes suelen generar IOPS mucho más altas si los datos se almacenan en caché en la caché de lectura de la SSD que si no están en la caché.

  • Intelligent-Tiering La clase de almacenamiento admite la lectura anticipada para optimizar el rendimiento de las solicitudes de lectura secuencial. Recomendamos configurar el patrón de acceso a los datos de forma secuencial siempre que sea posible para permitir la obtención previa de los datos y aumentar el rendimiento.