Performances des volumes Amazon EBS - Amazon EBS

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 des volumes Amazon EBS

Plusieurs facteurs, dont les caractéristiques d’I/O et la configuration de vos instances et volumes, peuvent avoir des répercussions sur les performances d’Amazon EBS. Si vous suivez les instructions figurant sur nos pages détaillées des produits Amazon EBS et Amazon EC2, vous obtiendrez généralement de bonnes performances. Cependant, dans certains cas, vous devrez peut-être effectuer des réglages pour obtenir des performances optimales. Nous vous recommandons d’optimiser les performances à l’aide des informations provenant de votre charge de travail réelle, en plus des comparaisons, afin de déterminer votre configuration optimale. Maintenant que vous maîtrisez les bases de l’utilisation des volumes EBS, nous allons examiner les performances d’I/O dont vous avez besoin et les options qui vous permettront d’améliorer les performances d’Amazon EBS afin de répondre à ces besoins.

AWS les mises à jour des performances des types de volumes EBS peuvent ne pas prendre effet immédiatement sur vos volumes existants. Pour bénéficier de performances optimales sur un ancien volume, vous devrez peut-être d’abord effectuer une action ModifyVolume sur celui-ci. Pour plus d’informations, consultez Modifier un volume à l'aide d'Amazon EBS Elastic Volumes.

Conseils sur les performances Amazon EBS

Ces conseils constituent des bonnes pratiques à appliquer pour obtenir des performances optimales à partir de vos volumes EBS, dans différents scénarios d’utilisation.

Utiliser les instances optimisées pour EBS

Sur les instances sans prise en charge d’un débit optimisé pour EBS, le trafic réseau peut se heurter au trafic entre votre instance et vos volumes EBS. Sur les instances optimisées pour EBS, les deux types de trafic sont séparés. Certaines configurations d’instance optimisées pour EBS entraînent des frais supplémentaires (par exemple, C3, R3 et M3), tandis que d’autres sont optimisées pour EBS sans frais supplémentaires (par exemple, M4, C4, C5 et D2). Pour plus d’informations, consultez Optimisez les performances d'Amazon EBS.

Comprendre comment les performances sont calculées

Lorsque vous mesurez les performances de vos volumes EBS, il est important de comprendre les unités de mesure impliquées et la méthode de calcul des performances. Pour plus d’informations, consultez Caractéristiques et surveillance des E/S Amazon EBS.

Comprendre votre charge de travail

Il existe un lien entre les performances maximales de vos volumes EBS, la taille et le nombre d’opérations d’I/O, et le temps nécessaire pour effectuer chaque action. Chacun de ces critères (performances, I/O et latence) a un impact sur les autres, et chaque application est plus ou moins sensible à un critère ou à un autre. Pour plus d’informations, consultez Comparer les volumes EBS.

Être conscient des pertes de performances lors de l’initialisation des volumes à partir d’instantanés

La latence augmente considérablement la première fois que vous accédez à chaque bloc de données sur un nouveau volume EBS créé à partir d’un instantané. Vous pouvez éviter cette baisse de performances à l’aide de l’une des solutions suivantes :

  • Accédez à chaque bloc avant de placer le volume en production. Ce processus est appelé initialisation (anciennement « préchauffage »). Pour plus d’informations, consultez Initialiser les volumes Amazon EBS.

  • Activez la restauration d’instantané rapide sur un instantané pour vous assurer que les volumes EBS créés à partir de l’instantané sont entièrement initialisés à la création et fournissent instantanément la totalité des performances allouées. Pour plus d’informations, consultez Restauration d’instantané rapide Amazon EBS.

Facteurs qui peuvent dégrader les performances des volumes HDD

Lorsque vous créez un instantané d’un volume HDD à débit optimisé (st1) ou HDD à froid (sc1), les performances peuvent diminuer jusqu’à la valeur de référence du volume pendant que l’instantané est en cours de création. Ce comportement est propre à ces types de volume. Voici d’autres facteurs qui peuvent limiter les performances : débit généré supérieur à celui que l’instance peut accepter, pertes de performance lors de l’initialisation des volumes créés à partir d’un instantané, et quantité excessive d’I/O aléatoires de petite taille sur le volume. Pour plus d’informations sur le calcul du débit des volumes HDD, consultez Types de volume Amazon EBS.

Vos performances peuvent également être affectées si votre application n’envoie pas suffisamment de demandes d’I/O. Il est possible de contrôler ce phénomène en examinant la longueur de file d’attente et la taille d’I/O de votre volume. La longueur de la file d’attente est le nombre de demandes d’I/O en attente, en provenance de votre application et à destination de votre volume. Pour une cohérence optimale, les volumes basés sur HDD doivent conserver une longueur de file d’attente de 4 ou plus (arrondie au nombre entier le plus proche) lors de l’exécution d’I/O séquentielles d’1 Mio. Pour plus d’information sur la manière de garantir des performances constantes sur vos volumes, consultez Caractéristiques et surveillance des E/S Amazon EBS

Augmentez la lecture anticipée pour les charges de travail à haut débit et en lecture intense sur et (instances Linux uniquement) st1 sc1

Certaines charges de travail impliquent une forte densité de lecture et accèdent au périphérique de stockage en mode bloc via le cache d’une page du système d’exploitation (par exemple, à partir d’un système de fichiers). Dans ce cas, afin d’obtenir un débit optimal, nous vous recommandons de configurer le paramètre de lecture anticipée sur 1 Mio. Il s'agit d'un per-block-device paramètre qui ne doit être appliqué qu'aux volumes de votre disque dur.

Afin d’examiner la valeur actuelle de lecture anticipée pour vos périphériques de stockage en mode bloc, utilisez la commande suivante :

[ec2-user ~]$ sudo blockdev --report /dev/<device>

Les informations sur les périphériques de stockage en mode bloc s’affichent au format suivant :

RO RA SSZ BSZ StartSec Size Device rw 256 512 4096 4096 8587820544 /dev/<device>

Le périphérique affiché indique une valeur de lecture anticipée de 256 (la valeur par défaut). Multipliez ce nombre par la taille du secteur (512 octets) afin d’obtenir la taille de la mémoire tampon de lecture anticipée (128 Kio ici). Pour définir la valeur de la mémoire tampon sur 1 Mio, utilisez la commande suivante :

[ec2-user ~]$ sudo blockdev --setra 2048 /dev/<device>

Pour vérifier que le paramètre de lecture anticipée affiche maintenant 2 048, exécutez de nouveau la première commande.

N’utilisez ce paramètre que lorsque votre charge de travail se compose d’I/O séquentielles de grande taille. Si elle se compose essentiellement d’I/O aléatoires de petite taille, ce paramètre va dégrader vos performances. En général, si votre charge de travail se compose principalement d’I/O aléatoires ou de petite taille, vous devez envisager d’utiliser un volume SSD à usage général (gp2 et gp3) plutôt qu’un volume st1 ou sc1.

Utiliser un noyau Linux moderne (instances Linux uniquement)

Utilisez un noyau Linux récent avec une prise en charge des descripteurs indirects. Tous les noyaux Linux version 3.8 et supérieures les prennent en charge, ainsi que toute instance EC2 de la génération actuelle. Si votre taille moyenne d’I/O atteint 44 Kio ou s’en rapproche, il est possible que vous utilisiez une instance ou un noyau qui ne prend pas en charge les descripteurs indirects. Pour plus d'informations sur le calcul de la taille moyenne des E/S à partir CloudWatch des métriques Amazon, consultez. Caractéristiques et surveillance des E/S Amazon EBS

Pour obtenir un débit optimal sur les volumes st1 ou sc1, nous vous recommandons d’appliquer la valeur 256 au paramètre xen_blkfront.max (pour les versions de noyau Linux antérieures à la 4.6) ou au paramètre xen_blkfront.max_indirect_segments (pour un noyau Linux version 4.6 et supérieures). Le paramètre approprié peut être défini dans la ligne de commande de démarrage de votre système d’exploitation.

Par exemple, dans une AMI Amazon Linux avec un noyau antérieur, vous pouvez l’ajouter à la fin de la ligne du noyau, dans la configuration GRUB disponible dans /boot/grub/menu.lst:

kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256

Pour un noyau plus récent, la commande serait semblable à ce qui suit :

kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 xen_blkfront.max_indirect_segments=256

Redémarrez votre instance pour que ce paramètre prenne effet.

Pour plus d'informations, voir Configuration de GRUB pour les AMI paravirtuelles. D’autres distributions Linux, en particulier celles qui n’utilisent pas le programme d’amorçage GRUB, peuvent nécessiter une approche différente pour le réglage des paramètres du noyau.

Pour plus d’informations sur les caractéristiques d’I/O EBS, consultez la présentation re:Invent à ce sujet, intitulée Amazon EBS: Designing for Performance.

Utiliser RAID 0 pour optimiser l’utilisation des ressources d’instance

Certains types d’instance peuvent générer un débit d’I/O supérieur à celui que vous pouvez provisionner pour un seul volume EBS. Vous pouvez associer plusieurs volumes dans une configuration RAID 0 afin d’utiliser la bande passante disponible pour ces instances. Pour plus d’informations, consultez Configuration d'Amazon EBS et du RAID.

Suivez les performances à l'aide d'Amazon CloudWatch

Amazon Web Services fournit des indicateurs de performance pour Amazon EBS que vous pouvez analyser et consulter avec Amazon, CloudWatch ainsi que des contrôles de statut que vous pouvez utiliser pour surveiller l'état de vos volumes. Pour plus d’informations, consultez Surveillez vos volumes Amazon EBS.