Rendimiento de Amazon EFS - Amazon Elastic File System

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.

Rendimiento de Amazon EFS

En las siguientes secciones, se proporciona una descripción general del desempeño de Amazon EFS y cómo la configuración del sistema de archivos afecta a las dimensiones de rendimiento clave. También ofrecemos algunos consejos y recomendaciones importantes para optimizar el rendimiento de su sistema de archivos.

Resumen de desempeño

El rendimiento del sistema de archivos se mide normalmente mediante las dimensiones de latencia, rendimiento y operaciones de entrada/salida por segundo (IOPS). El rendimiento de Amazon EFS en estas dimensiones depende de la configuración del sistema de archivos. Las siguientes configuraciones afectan al desempeño de un sistema de archivos de Amazon EFS:

  • Clase de almacenamiento: EFS One Zone o EFS Standard

  • Modo de rendimiento: uso general o E/S máxima

  • Modo de rendimiento: explosivo, elástico o aprovisionado

La siguiente tabla ilustra el rendimiento del sistema de archivos Amazon EFS para las combinaciones disponibles de configuraciones de clase de almacenamiento y modo de rendimiento.

Rendimiento del sistema de archivos para combinaciones de clases de almacenamiento y modos de rendimiento
Latencia 1 IOPS máximas Rendimiento máximo

Configuración del sistema de archivos: clase de almacenamiento y modo de rendimiento

Operaciones de lectura

Operaciones de escritura

Operaciones de lectura

Operaciones de escritura

Per-file-system lee 2

Per-file-system escribe 2

Lectura/escritura por cliente

Almacenamiento de una zona y uso general

Tan solo 250 microsegundos (µs)

Tan solo 1,6 milisegundos (ms)

35,000 7,000

3 — 5 GiBps

1 — 3 GiBps

500 MiBps

Almacenamiento estándar y uso general

Tan bajo como 250 µs

As low as 2.7 ms 35,000 7,000

3 — 5 GiBps

1 — 3 GiBps

500 MiBps
nota

Notas a pie de página:

  1. Las latencias de lectura y escritura de datos de archivos en las clases de almacenamiento con costes optimizados (Standard-IA y One Zone-IA) son de milisegundos de un dígito.

  2. El rendimiento máximo de lectura y escritura depende del modo de procesamiento del sistema de archivosRegión de AWS y del mismo. Para obtener más información, consulte la tabla de cuotas de rendimiento predeterminadas.

    El rendimiento que supere el rendimiento máximoRegión de AWS de an requiere un aumento de la cuota de rendimiento. El equipo de servicio de Amazon EFS tiene case-by-case en cuenta cualquier solicitud de rendimiento adicional. La aprobación puede depender del tipo de carga de trabajo. Para obtener más información sobre cómo solicitar aumentos de cuota, consulteCuotas y límites de Amazon EFS.

Clases de almacenamiento y rendimiento

Amazon EFS usa las siguientes clases de almacenamiento:

  • Clases de almacenamiento de EFS One Zone: EFS One Zone y EFS One Zone-Infrequent Access (EFS One Zone-IA). Las clases de almacenamiento de EFS One Zone replican los datos en una misma zona de disponibilidad.

  • Clases de almacenamiento EFS Standard: EFS Standard y EFS Standard-IA. Las clases de almacenamiento EFS Standard replican datos en varias zonas de disponibilidad (Multi-AZ).

La latencia del primer byte al leer o escribir en cualquiera de las clases de almacenamiento de IA es mayor que la de las clases de almacenamiento EFS Standard o EFS One Zone.

Para obtener más información acerca de las clases de almacenamiento de EFS, consulte Clases de almacenamiento de EFS.

Modos de rendimiento

Amazon EFS ofrece dos modos de rendimiento, uso general y E/S máximo:

  • El modo de uso general admite hasta 35 000 IOPS, tiene la latencia por operación más baja y es el modo de rendimiento recomendado para los sistemas de archivos. Los sistemas de archivos con clases de almacenamiento EFS One Zone siempre utilizan el modo de rendimiento de uso general. Para los sistemas de archivos con clases de almacenamiento EFS Standard, puede utilizar el modo de rendimiento de uso general predeterminado o el modo de rendimiento máximo de E/S.

  • El modo de E/S máximo está diseñado para cargas de trabajo altamente paralelizadas que pueden tolerar latencias más altas que el modo de uso general. El modo de E/S máximo no se admite en los sistemas de archivos que utilizan la clase de almacenamiento EFS One Zone ni en los que utilizan el modo de rendimiento elástico.

nota

No puede cambiar el modo de rendimiento de un sistema de archivos una vez creado el sistema de archivos.

Recomendamos utilizar el modo de rendimiento de uso general para la gran mayoría de las aplicaciones. Si no está seguro del modo de rendimiento que debe utilizar, elija el modo de rendimiento de uso general. Para garantizar que la carga de trabajo se mantenga dentro del límite de IOPS disponible para los sistemas de archivos que utilizan el modo de uso general, puede supervisar laPercentIOLimit CloudWatch métrica. Para obtener más información, consulte CloudWatch Métricas de Amazon EFS.

Las aplicaciones pueden escalar sus IOPS de forma elástica hasta el límite asociado al modo de rendimiento. Las IOPS no se facturan por separado; se incluyen en la contabilidad de rendimiento del sistema de archivos. Cada solicitud del Sistema de archivos de red (NFS) se contabiliza como 4 kilobytes (KB) de rendimiento, o su tamaño real de solicitud y respuesta, lo que sea mayor.

Modos de rendimiento

El modo de procesamiento de un sistema de archivos determina el rendimiento disponible para su sistema de archivos. Amazon EFS ofrece tres modos de rendimiento: Bursting, Elastic y Provisioned. Se descuenta el rendimiento de lectura para que pueda aumentar el rendimiento de lectura que el de escritura. Dependiendo deRegión de AWS, el discount por lectura es de entre 1,66 y 3 veces. Para obtener más información, consulte la tabla de cuotas de rendimiento predeterminadas. Los descuentos reducen el rendimiento que se mide en función de las lecturas y no afectan a las escrituras ni a la acumulación de créditos en ráfaga. Además, los descuentos de lectura nunca reducen el rendimiento que se mide para una sola solicitud de NFS por debajo de un tamaño mínimo de solicitud de 4 KB.

Descripción del rendimiento

Todos los sistemas de archivos de Amazon EFS tienen un rendimiento medido asociado. La forma en que se determina el rendimiento medido difiere para cada modo de rendimiento.

  • Para los sistemas de archivos que utilizan el modo Bursting Throughput, el rendimiento medido se determina según la cantidad de datos almacenados en la clase de almacenamiento EFS Standard o EFS One Zone.

  • Para los sistemas de archivos que utilizan el modo Elastic Throughput, el rendimiento medido se determina por la cantidad de datos leídos y escritos.

  • Para los sistemas de archivos que utilizan el modo de rendimiento aprovisionado, el rendimiento medido se determina por la cantidad de rendimiento aprovisionado.

Las solicitudes de lectura y escritura se miden a diferentes velocidades. Amazon EFS mide las solicitudes a un tercio de la velocidad de lectura de otras solicitudes.

ejemplo del rendimiento medido por EFS

Por ejemplo, si gestiona 30 mebibytes por segundo (MiBps) tanto del rendimiento de lectura como del rendimiento de escritura, la parte de lectura cuenta como 10 MiBps del rendimiento medido, la parte de escritura cuenta como 30 MiBps y el rendimiento medido combinado es 40 MiBps. Este rendimiento combinado, ajustado según las tasas de medición, se refleja en la CloudWatch métrica deMeteredIOBytes Amazon. Para obtener más información, consulte CloudWatch Métricas de Amazon EFS.

Elegir el modo de procesamiento correcto para un sistema de archivos

La elección del modo de rendimiento correcto para el sistema de archivos depende de los requisitos de rendimiento de la carga de trabajo.

  • Rendimiento acelerado: utilice el modo Rendimiento ininterrumpido cuando desee un rendimiento que se amplíe en función de la cantidad de almacenamiento del sistema de archivos.

    Si, después de usar el modo Bursting Throughput, descubre que su aplicación tiene un rendimiento limitado (por ejemplo, utiliza más del 80% del rendimiento permitido o usted ha utilizado todos sus créditos de ráfaga), debe utilizar el modo de rendimiento elástico o Provisioned Throughput.

    Para obtener más información, consulte Modo de rendimiento por ráfagas.

  • Rendimiento elástico: utilice Elastic Throughput cuando tenga cargas de trabajo y requisitos de rendimiento impredecibles o impredecibles que sean difíciles de pronosticar, o cuando su aplicación impulse el rendimiento en una average-to-peak proporción del 5% o menos. Para obtener más información, consulte Modo de rendimiento elástico.

  • Rendimiento aprovisionado: utilice el rendimiento aprovisionado si conoce los requisitos de rendimiento de su carga de trabajo o si su aplicación impulsa el rendimiento en una average-to-peak proporción del 5% o más. Para obtener más información, consulte Modo de rendimiento aprovisionado.

Puedes usar Amazon CloudWatch para determinar la average-to-peak proporción de tu carga de trabajo comparando laMeteredIOBytes métrica con laPermittedThroughput métrica. Para obtener más información acerca de las métricas de Amazon EFS, consulte CloudWatch Métricas de Amazon EFS.

Modo de rendimiento por ráfagas

El modo de rendimiento acelerado se recomienda para las cargas de trabajo que requieren un rendimiento que se escale en función de la cantidad de almacenamiento del sistema de archivos. En el modo Bursting Throughput, el rendimiento base es proporcional al tamaño del sistema de archivos en la clase de almacenamiento EFS Standard, a una velocidad de 50 KiBps por cada GiB de almacenamiento. Los créditos de ráfaga se acumulan cuando el sistema de archivos consume por debajo de su tasa de procesamiento base y se deducen cuando el rendimiento supera la velocidad base.

Cuando hay créditos de ráfaga disponibles, un sistema de archivos puede generar un rendimiento de hasta 100 MiBps por TiB de almacenamiento, hasta el límite de la región de Amazon EFS, con un mínimo de 100 MiBps. Si no hay créditos de ráfaga disponibles, un sistema de archivos puede almacenar hasta 50 MiBps unidades por TiB de almacenamiento, con un mínimo de 1 MiBps.

Para obtener información sobre los límites por región, consulte la tabla de cuotas de rendimiento predeterminadas para los modos Bursting y Provisioned Thunderput.

Descripción de los créditos por ráfaga de Amazon EFS

Con Bursting Throughput, cada sistema de archivos acumula créditos de ráfaga a lo largo del tiempo a una velocidad de referencia determinada por el tamaño del sistema de archivos que se almacena en la clase de almacenamiento EFS Standard o EFS One Zone Standard. La tasa de referencia es de 50 MiBps por tebibyte [TiB] de almacenamiento (equivalente a 50 KiBps por GiB de almacenamiento). Amazon EFS mide las operaciones de lectura hasta un tercio de la velocidad de las operaciones de escritura, lo que permite al sistema de archivos alcanzar una velocidad de referencia de hasta 150 KiBps por GiB de rendimiento de lectura o 50 KiBps por GiB de rendimiento de escritura.

Un sistema de archivos puede impulsar el rendimiento a su velocidad medida de referencia de forma continua. Un sistema de archivos acumula créditos de ráfaga cada vez que está inactivo o reduce el rendimiento por debajo de su velocidad medida de referencia. Los créditos de ráfaga acumulados ofrecen al sistema de archivos la capacidad para incrementar el desempeño por encima de su tasa inicial.

Por ejemplo, un sistema de archivos con 100 GiB de datos medidos en el almacenamiento EFS Standard tiene un rendimiento base de 5 MiBps. Durante un período de 24 horas de inactividad, el sistema de archivos obtiene un crédito de 432 000 MiB (5 MiB × 86 400 segundos = 432 000 MiB), que se puede utilizar para acelerar a 100 MiBps durante 72 minutos (432 000 MiB ÷ 100 MiBps = 72 minutos).

Los sistemas de archivos de más de 1 TiB siempre pueden funcionar en ráfagas hasta el 50 por ciento del tiempo si están inactivos el 50 por ciento restante del tiempo.

La siguiente tabla ofrece ejemplos de comportamiento de transmisión por ráfagas.

Tamaño del sistema de archivos Rendimiento por ráfagas Rendimiento de referencia
100 GiB de datos medidos en almacenamiento estándar
  • Rápida hasta 300 (MiBps) en modo de solo lectura durante un máximo de 72 minutos al día, o

  • Ráfaga a 100 MiBps , solo escritura durante un máximo de 72 minutos al día

  • Conduce hasta 15 vehículos de MiBps solo lectura de forma continua

  • Conduce hasta 5 personas con MiBps solo escritura continua

1 TiB de datos medidos en almacenamiento estándar
  • Ráfaga a 300 en MiBps modo de solo lectura durante 12 horas al día, o

  • Ráfaga a 100 MiBps , solo escritura durante 12 horas al día

  • Drive 150 de MiBps solo lectura continua

  • Conduce 50 MiBps unidades con solo escritura continua

10 TiB de datos medidos en almacenamiento estándar
  • Ráfaga a 3 en GiBps modo de solo lectura durante 12 horas al día, o

  • Ráfaga a GiBps 1 solo escritura durante 12 horas al día

  • Drive 1.5 GiBps : solo lectura continua

  • Conduce 500 MiBps unidades con solo escritura continua

En general, sistemas de archivos más grandes
  • Ráfaga a 300 MiBps unidades de solo lectura por TiB de almacenamiento durante 12 horas al día, o

  • Ráfaga a 100 MiBps , solo escritura por TiB de almacenamiento durante 12 horas al día

  • Conduzca 150 MiBps unidades de solo lectura por TiB de almacenamiento continuo

  • Conduzca 50 MiBps unidades de solo escritura por TiB de almacenamiento de forma continua

nota

Amazon EFS proporciona un rendimiento medido de 1 MiBps para todos los sistemas de archivos, incluso si la tasa de referencia es inferior.

El tamaño del sistema de archivos utilizado para determinar la línea base y las velocidades de ráfaga es el tamañoValueInStandard medido disponible a través de la operación de laDescribeFileSystems API.

Los sistemas de archivos pueden obtener hasta un saldo de crédito máximo de 2,1 TiB para sistemas de archivos de tamaño inferior a 1 TiB o de 2,1 TiB por TiB almacenado para sistemas de archivos mayores de 1 TiB. Este comportamiento significa que los sistemas de archivos pueden acumular créditos suficientes para funcionar en ráfagas de hasta 12 horas seguidas.

Modo de rendimiento elástico

En el caso de los sistemas de archivos que utilizan Elastic Throughput, Amazon EFS aumenta o reduce automáticamente el rendimiento del rendimiento para satisfacer las necesidades de la actividad de la carga de trabajo. El rendimiento elástico es el mejor modo de rendimiento para cargas de trabajo con picos o impredecibles con requisitos de rendimiento difíciles de predecir, o para aplicaciones que impulsan un rendimiento igual o inferior al 5% del rendimiento máximo en promedio (la average-to-peak relación).

Dado que el rendimiento de los sistemas de archivos con Elastic Throughput se escala automáticamente, no es necesario especificar ni aprovisionar la capacidad de procesamiento para satisfacer las necesidades de la aplicación. Solo pagas por la cantidad de metadatos y datos leídos o escritos, y no acumulas ni consumes créditos por ráfaga mientras estás en el modo Elastic Throughput.

Elastic Throughput puede procesar hasta 3 GiBps operaciones de lectura y 1 de escritura GiBps por sistema de archivos, en totalRegiones de AWS.

nota

El modo de rendimiento elástico solo está disponible para los sistemas de archivos configurados con el modo de rendimiento de uso general.

Modo de rendimiento aprovisionado

En el modo Rendimiento aprovisionado, se especifica un nivel de rendimiento que el sistema de archivos puede gestionar independientemente del tamaño del sistema de archivos o del saldo de créditos por ráfaga. Utilice Provisioned Throughput si conoce los requisitos de rendimiento de su carga de trabajo o si su aplicación logra un rendimiento del 5% o más de la average-to-peak relación.

Con Provisioned Throughput, se le cobrará por la cantidad de rendimiento aprovisionado. Si el tamaño medido de los datos almacenados en el almacenamiento EFS Standard de su sistema de archivos proporciona un rendimiento de referencia superior a la cantidad de rendimiento que ha aprovisionado, el sistema de archivos utilizará automáticamente el modo Rendimiento en ráfaga.

El rendimiento aprovisionado puede generar hasta 3 GiBps operaciones de lectura y 1 de escritura GiBps por sistema de archivos, en todas las regiones.

Restricciones a la hora de cambiar de modo de procesamiento y cambiar la cantidad aprovisionada

Puede cambiar el modo de procesamiento de un sistema de archivos existente y cambiar la cantidad de procesamiento. Sin embargo, después de cambiar el modo de rendimiento a Rendimiento aprovisionado o cambiar la cantidad de rendimiento aprovisionado, las siguientes acciones están restringidas durante un período de 24 horas:

  • Cambiar del modo de rendimiento aprovisionado al modo de rendimiento elástico o de ráfaga.

  • Disminuir la cantidad de rendimiento aprovisionada.

Consejos de rendimiento de Amazon EFS

Cuando utilice Amazon EFS, tenga en cuenta los siguientes consejos de rendimiento.

Tamaño de las E/S

La naturaleza distribuida de Amazon EFS permite altos niveles de disponibilidad, durabilidad y escalabilidad. Esta arquitectura distribuida da lugar a un costo de latencia pequeño por cada operación con archivos. Debido a esta latencia por operación, el rendimiento general generalmente aumenta a medida que aumenta el tamaño promedio de la E/S, ya que la sobrecarga se amortiza con una mayor cantidad de datos.

Modelo de solicitud

Si habilita las escrituras asincrónicas en su sistema de archivos, las operaciones de escritura pendientes se almacenan en búfer en la instancia de Amazon EC2 antes de escribirlas en Amazon EFS de forma asincrónica. 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 la escritura sincrónica o uno que abra archivos mediante una opción que omita la memoria caché (por ejemploO_DIRECT), emite solicitudes sincrónicas a Amazon EFS. Cada operación pasa por un trayecto de ida y vuelta entre el cliente y Amazon EFS.

nota

El modelo de solicitud que ha elegido tiene ventajas en cuanto a coherencia (si utiliza varias instancias de Amazon EC2) y velocidad. El uso de escrituras sincrónicas proporciona una mayor coherencia de los datos al completar cada transacción de solicitud de escritura antes de procesar la siguiente solicitud. El uso de escrituras asincrónicas proporciona un mayor rendimiento al almacenar en búfer las operaciones de escritura pendientes.

Configuración de montaje del cliente NFS

Compruebe que está utilizando las opciones de montaje recomendadas, tal como se indica enMontaje de sistemas de archivos EFS y enConsideraciones adicionales de montaje.

Al montar sus sistemas de archivos en instancias de Amazon EC2, Amazon EFS admite los protocolos del Sistema de archivos de red versión 4.0 y 4.1 (NFSv4). NFSv4.1 ofrece un mejor rendimiento para operaciones parallel de lectura de archivos pequeños (más de 10 000 archivos por segundo) en comparación con NFSv4.0 (menos de 1 000 archivos por segundo). Para las instancias macOS de Amazon EC2 que ejecutan macOS Big Sur, solo se admite NFSv4.0.

No utilice las siguientes opciones de montaje:

  • noac,actimeo=0,acregmax=0,acdirmax=0 — Estas opciones deshabilitan la memoria caché de atributos, lo que tiene un gran impacto en el rendimiento.

  • lookupcache=pos,lookupcache=none — Estas opciones deshabilitan la caché de búsqueda de nombres de archivos, lo que tiene un gran impacto en el rendimiento.

  • fsc— Esta opción permite el almacenamiento en caché local de archivos, pero no cambia la coherencia de la memoria caché de NFS ni reduce las latencias.

nota

Al montar el sistema de archivos, considere la posibilidad de aumentar el tamaño de los búferes de lectura y escritura de su cliente NFS a 1 MB.

Optimización del rendimiento de archivos pequeños

Puede mejorar el rendimiento de los archivos pequeños minimizando las reaperturas de archivos, aumentando el paralelismo y agrupando los archivos de referencia siempre que sea posible.

  • Minimice el número de viajes de ida y vuelta al servidor.

    No cierre archivos innecesariamente si los va a necesitar más adelante en un flujo de trabajo. Mantener abiertos los descriptores de archivos permite el acceso directo a la copia local en la memoria caché. Por lo general, las operaciones de apertura, cierre y metadatos de archivos no se pueden realizar de forma asincrónica ni a través de una canalización.

    Al leer o escribir archivos pequeños, los dos viajes de ida y vuelta adicionales son importantes.

    Cada viaje de ida y vuelta (abrir un archivo, cerrar un archivo) puede llevar tanto tiempo como leer o escribir megabytes de datos masivos. Es más eficiente abrir un archivo de entrada o salida una vez, al principio de la tarea informática, y mantenerlo abierto durante todo el trabajo.

  • Utilice el paralelismo para reducir el impacto de los tiempos de ida y vuelta.

  • Agrupe los archivos de referencia en un.zip archivo. Algunas aplicaciones utilizan un gran conjunto de archivos de referencia pequeños, en su mayoría de solo lectura. Al agruparlos en un.zip archivo, puede leer muchos archivos en un solo viaje de apertura y cierre.

    El.zip formato permite el acceso aleatorio a archivos individuales.

Optimización del desempeño del directorio

Al crear una lista (ls) en directorios muy grandes (más de 100 000 archivos) que se modifican simultáneamente, los clientes NFS de Linux pueden bloquearse y no devolver ninguna respuesta. Este problema se solucionó en el núcleo 5.11, que se ha portado a los núcleos 4.14, 5.4 y 5.10 de Amazon Linux 2.

Recomendamos mantener el número de directorios del sistema de archivos en menos de 10 000, si es posible. Utilice subdirectorios anidados en la medida de lo posible.

Cuando enumere un directorio, evite obtener los atributos de archivo si no son obligatorios, ya que no se almacenan en el propio directorio.

Optimización del tamaño read_ahead_kb de NFS

Elread_ahead_kb atributo NFS define el número de kilobytes que el núcleo de Linux debe leer antes o realizar una captura previa durante una operación de lectura secuencial.

Para las versiones del núcleo de Linux anteriores a la 5.4.*, elread_ahead_kb valor se establece multiplicandoNFS_MAX_READAHEAD por el valor dersize (el tamaño del búfer de lectura configurado por el cliente establecido en las opciones de montaje). Cuando se utilizan las opciones de montaje recomendadas, esta fórmula se estableceread_ahead_kb en 15 MB.

nota

A partir de las versiones 5.4.* del núcleo de Linux, el cliente NFS de Linux utiliza unread_ahead_kb valor predeterminado de 128 KB. Recomendamos aumentar este valor a 15 MB.

El asistente de montaje de Amazon EFS que está disponible en laamazon-efs-utils versión 1.33.2 y versiones posteriores modifica automáticamente elread_ahead_kb valor para que sea igual a 15*rsize, o 15 MB, después de montar el sistema de archivos.

Para los núcleos de Linux 5.4 o versiones posteriores, si no utiliza el asistente de montaje para montar los sistemas de archivos, considereread_ahead_kb configurarlo manualmente en 15 MB para mejorar el rendimiento. Tras montar el sistema de archivos, puede restablecer elread_ahead_kb valor mediante el siguiente comando. Antes de usar este comando, reemplace los siguientes valores:

  • read-ahead-value-kbSustitúyalo por el tamaño deseado en kilobytes.

  • efs-mount-pointSustitúyalo por el punto de montaje del sistema de archivos.

device_number=$(stat -c '%d' efs-mount-point) ((major = ($device_number & 0xFFF00) >> 8)) ((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00))) sudo bash -c "echo read-ahead-value-kb > /sys/class/bdi/$major:$minor/read_ahead_kb"

En el siguiente ejemplo, se establece elread_ahead_kb tamaño en 15 MB.

device_number=$(stat -c '%d' efs) ((major = ($device_number & 0xFFF00) >> 8)) ((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00))) sudo bash -c "echo 15000 > /sys/class/bdi/$major:$minor/read_ahead_kb"