Performances Amazon EFS - Amazon Elastic File System

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Performances Amazon EFS

Les sections suivantes fournissent une présentation des performances Amazon EFS et décrivent l'impact de la configuration de votre système de fichiers sur les principaux aspects de la performance. Nous fournissons également des conseils et des recommandations importants pour optimiser les performances de votre système de fichiers.

Récapitulatif des performances

Les performances du système de fichiers sont généralement mesurées à l'aide des dimensions de latence, de débit et d'opérations d'entrée/sortie par seconde (IOPS). Les performances d'Amazon EFS dans ces domaines dépendent de la configuration de votre système de fichiers. Les configurations suivantes ont une incidence sur les performances d'un système de fichiers Amazon EFS :

  • Type de système de fichiers – Par région ou zone unique

  • Mode performance : usage général ou nombre maximal d'E/S

    Important

    Le mode de performance maximale d'E/S présente des latences par opération plus élevées que celui à usage général. Nous vous recommandons de toujours utiliser le mode de performance Usage général pour des performances plus rapides. Pour de plus amples informations, veuillez consulter Modes de performances.

  • Mode de débit – Elasticité, Alloué, ou Transmission en rafales

Le tableau suivant décrit les spécifications de performance pour les systèmes de fichiers utilisant le mode de performance General Purpose et les différentes combinaisons possibles de type de système de fichiers et de mode de débit.

Spécifications de performance pour les systèmes de fichiers utilisant le mode de performance General Purpose
Configuration du stockage et du débit Latence Nombre maximal d'IOPS Débit maximal

Type de système de fichiers

Mode de débit

Opérations de lecture

Opérations d'écriture

Opérations de lecture

Opérations d'écriture

P er-file-system lit 1

P er-file-system écrivez 1

Lecture/écriture par client

Régional

Elastic

Seulement 250 µs

As low as 2.7 ms 90,000–250,0002 50,000

3 à 20 GiBps

1 à 5 GiBps

500 MiBps

Régional

Provisioned

Seulement 250 µs

As low as 2.7 ms 55,000 25,000

3 à 10 GiBps

1—3,33 GiBps

500 MiBps

Régional

Bursting

Seulement 250 µs

As low as 2.7 ms 35,000 7,000

3 à 5 GiBps

1 à 3 GiBps

500 MiBps

Une zone

Elastic, Provisioned, or Bursting

Seulement 250 microsecondes (µs)

Seulement 1,6 millisecondes (ms)

35,000 7,000

3 à 5 gigaoctets par seconde () GiBps

1 à 3 GiBps

500 mebibytes per second (MiBps)
Note

Notes de bas de page :

  1. Le débit de lecture et d'écriture maximal dépend du Région AWS. Un débit supérieur au débit maximal d'un Région AWS nécessite une augmentation du quota de débit. Toute demande de débit supplémentaire est examinée sur une case-by-case base individuelle par l'équipe de service Amazon EFS. L'approbation peut dépendre de votre type de charge de travail. Pour en savoir plus sur la demande d'une révision, veuillez consulter Quotas et limites Amazon EFS.

  2. Les systèmes de fichiers qui utilisent le débit élastique peuvent générer un maximum de 90 000 lectures pour les données peu consultées et de 250 000 IOPS en lecture pour les données fréquemment consultées. Des recommandations supplémentaires s'appliquent pour atteindre un maximum d'IOPS. Pour plus d’informations, consultez Optimisation des charges de travail exigeant un débit et des IOPS élevés.

Classes de stockage

Les classes de stockage Amazon EFS sont conçues pour offrir le stockage le plus efficace possible en fonction des cas d'utilisation.

  • La classe de stockage EFS Standard utilise le stockage SSD pour fournir les niveaux de latence les plus faibles pour les fichiers fréquemment consultés. Cette classe de stockage offre des temps de latence au premier octet de seulement 250 us pour les lectures et 2,7 ms pour les écritures.

  • Les classes de stockage EFS Infrequent Access (IA) et EFS Archive stockent les données les moins fréquemment consultées qui ne nécessitent pas les performances de latence requises par les données fréquemment consultées. Ces classes de stockage fournissent des latences sur le premier octet de plusieurs dizaines de millisecondes.

Pour plus d'informations sur les classes de stockage EFS, consultez Classes de stockage EFS.

Modes de performances

Amazon EFS propose deux modes de performance, General Purpose et Max E/S.

  • Le mode General Purpose présente la latence par opération la plus faible et constitue le mode de performance par défaut pour les systèmes de fichiers. Les systèmes de fichiers One Zone utilisent toujours le mode de performance General Purpose. Nous vous recommandons de toujours utiliser le mode de performance Usage général pour des performances plus rapides.

  • Le mode Max E/S est un type de performance de génération antérieure conçu pour les charges de travail hautement parallélisées qui peuvent tolérer des latences plus élevées que le mode Usage général. Le mode Max E/S n'est pas pris en charge pour les systèmes de fichiers Zone unique ou les systèmes de fichiers qui utilisent le débit élastique.

    Important

    En raison des latences par opération plus élevées avec Max E/S, nous recommandons d'utiliser le mode de performance Usage général pour tous les systèmes de fichiers.

Pour garantir que votre charge de travail reste dans les limites d'IOPS disponibles pour les systèmes de fichiers utilisant le mode de performance General Purpose, vous pouvez surveiller la PercentIOLimit CloudWatch métrique. Pour de plus amples informations, veuillez consulter CloudWatch Métriques Amazon pour Amazon EFS.

Les applications peuvent mettre à l'échelle leurs IOPS avec élasticité jusqu'à la limite associée au mode performance. Les IOPS ne vous sont pas facturées séparément ; elles sont incluses dans la comptabilisation du débit d'un système de fichiers. Chaque demande de système de fichiers réseau (NFS) est comptabilisée comme un débit de 4 kilo-octets (Ko), ou sa taille réelle de demande et de réponse, selon la valeur la plus élevée.

Modes de débit

Le mode de débit d'un système de fichiers détermine le débit disponible pour votre système de fichiers. Amazon EFS propose trois modes de débit : élastique, alloué, et transmission en rafales. Le débit de lecture est réduit de manière à être supérieur au débit d'écriture. Le débit maximum disponible pour chaque mode de débit dépend du Région AWS. Pour plus d'informations sur le débit maximal du système de fichiers dans les différentes régions, consultez Quotas et limites Amazon EFS.

Votre système de fichiers peut atteindre 100 % de son débit combiné de lecture et d'écriture. Par exemple, si votre système de fichiers utilise 33 % de sa limite de débit de lecture, il peut atteindre simultanément jusqu'à 67 % de sa limite de débit d'écriture. Vous pouvez surveiller l'utilisation du débit de votre système de fichiers dans le graphique d'utilisation du débit (%) sur la page détaillée du système de fichiers de la console. Pour de plus amples informations, veuillez consulter Utilisation de CloudWatch métriques pour surveiller les performances de débit.

Choisir le bon mode de débit pour un système de fichiers

Le choix du mode de débit adapté à votre système de fichiers dépend des exigences de performance de votre charge de travail.

  • Débit élastique (recommandé) : utilisez le débit élastique par défaut lorsque vous êtes confronté à des charges de travail élevées ou imprévisibles et à des exigences de performances difficiles à prévoir, ou lorsque votre application augmente le débit à un average-to-peak ratio de 5 % ou moins. Pour de plus amples informations, veuillez consulter Débit élastique.

  • Débit provisionné : utilisez le débit provisionné si vous connaissez les exigences de performance de votre charge de travail ou lorsque votre application augmente le débit à un average-to-peak ratio de 5 % ou plus. Pour de plus amples informations, veuillez consulter Débit alloué.

  • Débit exceptionnel : utilisez le débit maximal lorsque vous souhaitez un débit qui s'adapte à la quantité de stockage de votre système de fichiers.

    Si, après avoir utilisé le débit en rafale, vous constatez que le débit de votre application est limité (par exemple, elle utilise plus de 80 % du débit autorisé ou si vous avez utilisé tous vos crédits en rafale), vous devez utiliser le débit élastique ou provisionné. Pour de plus amples informations, veuillez consulter Débit exceptionnel.

Vous pouvez utiliser Amazon CloudWatch pour déterminer le average-to-peak ratio de votre charge de travail en comparant la MeteredIOBytes métrique à la PermittedThroughput métrique. Pour plus d'informations sur les métriques de demande Amazon EFS, consultez CloudWatch Métriques Amazon pour Amazon EFS.

Débit élastique

Pour les systèmes de fichiers qui utilisent le débit élastique, Amazon EFS augmente ou diminue automatiquement les performances de débit pour répondre aux besoins de votre activité de charge de travail. Le débit élastique est le meilleur mode de débit pour les charges de travail élevées ou imprévisibles dont les exigences de performance sont difficiles à prévoir, ou pour les applications dont le débit est inférieur ou égal à 5 % du débit maximal en moyenne (le ratio). average-to-peak

Étant donné que les performances de débit des systèmes de fichiers dotés d'un débit élastique évoluent automatiquement, vous n'avez pas besoin de spécifier ou de provisionner la capacité de débit pour répondre aux besoins de votre application. Vous ne payez que pour la quantité de métadonnées et de données lues ou écrites, et vous n'accumulez ni ne consommez de crédits en rafale lorsque vous utilisez le débit élastique.

Note

Le débit élastique n'est disponible que pour les systèmes de fichiers qui utilisent le mode de performance General Purpose.

Pour plus d'informations sur les limites de débit élastiques par région, consultez. Les quotas Amazon EFS que vous pouvez augmenter

Débit alloué

Avec le débit provisionné, vous spécifiez le niveau de débit que le système de fichiers peut atteindre indépendamment de la taille du système de fichiers ou de l'augmentation du solde créditeur. Utilisez le débit provisionné si vous connaissez les exigences de performance de votre charge de travail ou si votre application atteint un débit égal ou supérieur à 5 % du ratio. average-to-peak

Pour les systèmes de fichiers utilisant le débit provisionné, vous êtes facturé en fonction du débit activé pour le système de fichiers. Le Montant du débit facturé en un Mois est basé sur le débit fourni en sus du débit de base inclus dans votre système de fichiers à partir du stockage standard, jusqu'aux limites de débit de base en rafales en vigueur dans le Région AWS.

Si le débit de base du système de fichiers dépasse le débit provisionné, il utilise automatiquement le débit de rafale autorisé pour le système de fichiers (dans la limite des limites de débit de base \ Bursting en vigueur à cet égard). Région AWS

Pour plus d'informations sur les limites par RegionProvisioned débit, consultezLes quotas Amazon EFS que vous pouvez augmenter.

Débit exceptionnel

Un débit maximal est recommandé pour les charges de travail qui nécessitent un débit adapté à la quantité de stockage de votre système de fichiers. Avec le débit en rafale, le débit de base est proportionnel à la taille du système de fichiers dans la classe de stockage Standard, à raison de 50 par GiB KiBps de stockage. Les crédits de rafale sont accumulés lorsque le système de fichiers consomme Moins que son débit de base et sont déduits lorsque le débit dépasse le débit de base.

Lorsque des crédits en rafale sont disponibles, un système de fichiers peut atteindre un débit de 100 MiBps par TiB de stockage, jusqu'à Région AWS la limite, avec un minimum de 100. MiBps Si aucun crédit en rafale n'est disponible, un système de fichiers peut en lire jusqu'à 50 MiBps par TiB de stockage, avec un minimum de 1. MiBps

Pour plus d'informations sur le débit en rafale par région, consultez. General resource quotas that cannot be changed

Comprendre les crédits en rafales Amazon EFS

Avec le débit en rafale, chaque système de fichiers gagne des crédits en rafale au fil du temps à un taux de référence déterminé par la taille du système de fichiers stocké dans la classe de stockage EFS Standard. Le taux de référence est de 50 MiBps par tébioctet [TiB] de stockage (équivalent à 50 par KiBps GiB de stockage). Amazon EFS mesure les opérations de lecture jusqu'à un tiers du taux des opérations d'écriture, ce qui permet au système de fichiers de générer un taux de référence allant jusqu'à 150 KiBps par GiB de débit de lecture ou 50 par KiBps GiB de débit d'écriture.

Un système de fichiers peut générer du débit à son débit de référence mesuré en continu. Un système de fichiers accumule des crédits en rafale chaque fois qu'il est inactif ou que son débit est inférieur à son taux de référence mesuré. Les crédits de transmission en rafales cumulés permettent au système de fichiers d'émettre un débit supérieur à son taux de référence.

Par exemple, un système de fichiers contenant 100 GiB de données mesurées dans la classe de stockage Standard a un débit de référence de 5. MiBps Sur une période d'inactivité de 24 heures, le système de fichiers gagne 432 000 MiB de crédit (5 MiB × 86 400 secondes = 432 000 MiB), qui peuvent être utilisés MiBps pour atteindre 100 MiB pendant 72 minutes (432 000 MiB ÷ 100 = 72 minutes). MiBps

Les systèmes de fichiers d'une taille supérieure à 1 TiB peuvent toujours transmettre en rafales jusqu'à 50 % du temps s'ils sont inactifs pendant les 50 % du temps.

Le tableau suivant fournit des exemples de comportement de transmission en rafales.

Taille de système de fichiers Débit de transmission en rafales. Débit de référence
100 GiB de données mesurées dans le stockage standard
  • Passez à 300 (MiBps) en lecture seule pendant 72 minutes maximum par jour, ou

  • Passez à 100 en MiBps écriture seule pendant 72 minutes par jour

  • Conduisez jusqu'à 15 unités en MiBps lecture seule en continu

  • Conduisez jusqu'à 5 disques en MiBps écriture seule en continu

100 TiB de données mesurées dans le stockage standard
  • Passez à 300 MiBps en lecture seule 12 heures par jour, ou

  • Passez à 100 en MiBps écriture seule pendant 12 heures par jour

  • Drive 150 en MiBps lecture seule en continu

  • Drive 50 en MiBps écriture seule en continu

10 TiB de données mesurées dans le stockage standard
  • Passez à 3 GiBps en lecture seule 12 heures par jour, ou

  • Passez à 1 en GiBps écriture seule pendant 12 heures par jour

  • Drive 1.5 en GiBps lecture seule en continu

  • Drive 500 en MiBps écriture seule en continu

Généralement, les systèmes de fichiers plus volumineux
  • Passez à 300 MiBps en lecture seule par TiB de stockage pendant 12 heures par jour, ou

  • Passez à 100 en MiBps écriture seule par TiB de stockage pendant 12 heures par jour

  • Lecteur 150 unités en MiBps lecture seule par TiB de stockage en continu

  • Lecteur de 50 unités en MiBps écriture seule par TiB de stockage en continu

Note

Amazon EFS fournit un débit mesuré de 1 MiBps pour tous les systèmes de fichiers, même si le débit de référence est inférieur.

La taille du système de fichiers utilisée pour déterminer les taux de base et de rafale est la taille mesurée ValueInStandard disponible via l'opération API DescribeFileSystems.

Les systèmes de fichiers peuvent obtenir des crédits jusqu'à un solde maximum de 2,1 TiB pour les systèmes de fichiers d'une taille inférieure à celle 1 TiB, ou 2,1 TiB par TiB stocké pour les systèmes de fichiers d'une taille supérieure à 1 TiB. Avec cette approche, les systèmes de fichiers peuvent cumuler suffisamment de crédits pour transmettre en rafales pendant 12 heures en continu.

Restrictions relatives au débit de commutation et à la modification du montant provisionné

Vous pouvez changer le mode de débit d'un système de fichiers existant et Modifier le débit. Toutefois, après avoir basculé le mode de débit sur Débit provisionné ou modifié le montant du débit provisionné, les actions suivantes sont limitées pendant 24 heures :

  • Passage du mode débit provisionné au mode débit élastique ou en mode débit en rafale.

  • Diminution du débit provisionné.

Conseils sur les performances Amazon EFS

Lors de l'utilisation d'Amazon EFS, gardez à l'esprit les conseils de performance suivants :

Taille d'E/S Moyen

La nature distribuée d'Amazon EFS permet de hauts niveaux de disponibilité, de durabilité et de capacité de mise à l'échelle. Cette architecture distribuée entraîne de faibles coûts en matière de latence pour chaque opération réalisée sur les fichiers. En raison de cette faible latence par opération, le débit global augmente généralement avec la taille d'E/S Moyenne, les frais généraux étant amortis sur un plus grand volume de données.

Optimisation des charges de travail exigeant un débit et des IOPS élevés

Pour les charges de travail nécessitant un débit et des IOPS élevés, utilisez des systèmes de fichiers régionaux configurés avec le mode de performance General Purpose et le débit élastique.

Note

Pour atteindre le maximum de 250 000 IOPS en lecture pour les données fréquemment consultées, le système de fichiers doit utiliser un débit élastique.

Pour atteindre les niveaux de performance les plus élevés, vous devez tirer parti de la parallélisation en configurant votre application ou votre charge de travail comme suit.

  1. Répartissez la charge de travail de manière uniforme sur tous les clients et annuaires, avec au Moins le même nombre de répertoires que le nombre de clients utilisés.

  2. Minimisez les conflits en alignant les threads individuels sur des jeu de données ou des fichiers distincts.

  3. Répartissez la charge de travail sur 10 clients NFS ou plus, avec au moins 64 threads par client dans une seule cible de montage.

Connexions simultanées

Vous pouvez monter des systèmes de fichiers Amazon EFS sur des milliers d'instances de calcul Amazon EC2 et d'autres instances de AWS calcul simultanément. Vous pouvez obtenir des niveaux de débit plus élevés sur votre système de fichiers dans les instances regroupées.

Modèle de demande

Si vous activez les écritures asynchrones sur votre système de fichiers, les opérations d'écriture en attente sont mises en mémoire tampon sur l'instance Amazon EC2 avant d'être écrites de manière asynchrone sur Amazon EFS. Les écritures asynchrones ont généralement des latences Moindres. Lors de l'exécution d'écritures asynchrones, le noyau utilise de la mémoire supplémentaire pour la mise en cache.

Un système de fichiers qui a activé des écritures synchrones, ou qui ouvre les fichiers à l'aide d'une option qui ignore le cache (par exemple, O_DIRECT), émettra des requêtes synchrones vers Amazon EFS. Chaque opération fera un aller retour entre le client et Amazon EFS.

Note

Le Modèle de requête que vous avez choisi fera des compromis en termes de cohérence (si vous utilisez plusieurs instances Amazon EC2) et de vitesse. L'utilisation d'écritures synchrones améliore la cohérence des données en effectuant chaque transaction de demande d'écriture avant de traiter la demande suivante. L'utilisation d'écritures asynchrones permet d'augmenter le débit en mettant en mémoire tampon les opérations d'écriture en attente.

Paramètres de Montage du client NFS

Vérifiez que vous utilisez les options de Montage recommandées, comme indiqué dans Montage des systèmes de fichiers EFS et Considérations de Montage supplémentaires.

Lors du Montage de vos systèmes de fichiers sur les instances Amazon EC2, Amazon EFS prend en charge les protocoles Network File System version 4.0 et 4.1 (NFSv4). NFSv4.1 fournit de meilleures performances pour les opérations de lecture parallèle de petits fichiers (supérieures à 10 000 fichiers par seconde) par rapport à NFSv4.0 (moins de 1 000 fichiers par seconde). Les instances Amazon EC2 macOS exécutant macOS Big Sur ne prennent en charge que NFS v4.0.

N'utilisez pas les options de Montage suivantes :

  • noac,actimeo=0,acregmax=0, acdirmax=0 — Ces options désactivent le cache d'attributs, ce qui a un impact très important sur les performances.

  • lookupcache=pos, lookupcache=none – Ces options désactivent le cache de consultation des noms de fichiers, qui a un impact très important sur les performances.

  • fsc— Cette option active la mise en cache des fichiers locaux, mais ne Modifie pas la cohérence du cache NFS et ne réduit pas les latences.

Note

Lorsque vous Montez votre système de fichiers, pensez à augmenter la taille des tampons de lecture et d'écriture de votre client NFS à 1 Mo.

Optimisation des performances des petits fichiers

Vous pouvez améliorer les performances des petits fichiers en minimisant les réouvertures de fichiers, en augmentant le parallélisme et en regroupant les fichiers de référence dans la mesure du possible.

  • Minimisez le nombre d'allers-retours vers le serveur.

    Ne fermez pas inutilement des fichiers si vous en aurez besoin ultérieurement dans un flux de travail. Le fait de garder les descripteurs de fichiers ouverts permet d'accéder directement à la copie locale dans le cache. Les opérations d'ouverture, de fermeture et de métadonnées de fichiers ne peuvent généralement pas être effectuées de manière asynchrone ou via un pipeline.

    Lors de la lecture ou de la rédaction de petits fichiers, les deux allers-retours supplémentaires sont importants.

    Chaque aller-retour (ouverture de fichier, fermeture de fichier) peut prendre autant de temps que la lecture ou l'écriture de mégaoctets de données en masse. Il est plus efficace d'ouvrir un fichier d'entrée ou de sortie une seule fois, au début de votre tâche de calcul, et de le maintenir ouvert pendant toute la durée de la tâche.

  • Utilisez le parallélisme pour réduire l'impact des temps d'aller-retour.

  • Regroupez les fichiers de référence dans un fichier .zip. Certaines applications utilisent un grand nombre de petits fichiers de référence, pour la plupart en lecture seule. Le fait de les regrouper dans un fichier .zip permet de lire de nombreux fichiers en un seul aller-retour (ouverture/fermeture).

    Le format .zip permet un accès aléatoire à des fichiers individuels.

Optimisation des performances de disque

Lors de l'exécution d'une liste (ls) sur de très grands répertoires (plus de 100 000 fichiers) Modifiés simultanément, les clients NFS Linux peuvent se bloquer et ne pas renvoyer de réponse. Ce problème est résolu dans le noyau 5.11, qui a été porté sur les noyaux Amazon Linux 2 4.14, 5.4 et 5.10.

Nous vous recommandons de limiter le nombre de répertoires de votre système de fichiers à Moins de 10 000, si possible. Chaque fois que possible, utilisez les sous-répertoires imbriqués.

Lorsque vous listez un répertoire, évitez d'obtenir des attributs de fichier s'ils ne sont pas obligatoires, car ils ne sont pas stockés dans le répertoire lui-même.

Optimisation de la taille NFS read_ahead_kb

L'attribut read_ahead_kb NFS définit le nombre de kilo-octets que le noyau Linux doit lire à l'avance ou à récupérer au cours d'une opération de lecture séquentielle.

Pour les versions du noyau Linux antérieures à la version 5.4.*, la read_ahead_kb valeur est définie en multipliant NFS_MAX_READAHEAD par la valeur pour rsize (la taille de la mémoire tampon de lecture configurée par le client définie dans les options de Montage). Lorsque vous utilisez les options de Montage recommandées, cette formule définie read_ahead_kb sur 15 Mo.

Note

Avec les versions 5.4.* du noyau Linux, le client NFS Linux utilise une valeur read_ahead_kb par défaut de 128 Ko. Nous recommandons d'augmenter cette valeur jusqu'à 15 Mo.

L'assistant de Montage Amazon EFS disponible dans les versions 1.33.2 amazon-efs-utils et ultérieures Modifie automatiquement la valeur read_ahead_kb pour qu'elle soit égale à 15 *rsize, soit 15 Mo, après le Montage du système de fichiers.

Pour les noyaux Linux 5.4 ou versions ultérieures, si vous n'utilisez pas l'assistant de Montage pour Monter vos systèmes de fichiers, pensez à régler manuellement read_ahead_kb à 15 Mo pour améliorer les performances. Après avoir Monté le système de fichiers, vous pouvez réinitialiser la valeur read_ahead_kb à l'aide de la commande suivante. Avant d'utiliser cette commande, remplacez les valeurs suivantes :

  • Remplacez read-ahead-value-kb par la taille souhaitée en kilo-octets.

  • Remplacez efs-mount-point par le point de Montage du système de fichiers.

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"

L'exemple qui suit définit une taille read_ahead_kb de 1 Mo.

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"