Je dispose d’un volume Amazon Elastic Block Store (Amazon EBS) qui n'a pas atteint son débit ni sa limite d'opérations d'entrée/sortie par seconde (IOPS) dans Amazon CloudWatch. Cependant, le volume est limité et présente une latence et une longueur de file d'attente élevées.
Résolution
Les métriques CloudWatch permettent de surveiller les IOPS et le débit pour tous les types de volume Amazon EBS. Les métriques CloudWatch collectent des échantillons toutes les minutes. Cependant, les opérations d'I/O sont effectuées à une fréquence de la milliseconde. Lorsque le volume subit des rafales d'IOPS ou de débit élevés pendant un intervalle de temps plus court que l'intervalle de collecte, CloudWatch ne capture pas la rafale. Cet échec est dû au fait que la surveillance des métriques s'effectue à un rythme par seconde.
Utiliser les métriques CloudWatch pour identifier d’éventuels événements de micro-bursting
Consulter la métrique VolumeIdleTime
Le graphique de métriques VolumeIdleTime indique le nombre de secondes pendant lesquelles aucune opération de lecture ou d'écriture n'a été soumise, pendant une durée spécifiée. Si la valeur de VolumeIdleTime est élevée, le volume est resté inactif pendant presque toute la durée. Si, au cours de la même durée, les IOPS ou le débit étaient suffisamment élevés, un événement de micro-bursting s’est produit dans le volume.
Calculer le débit moyen et la moyenne des IOPS que le volume EBS a reçus
Utilisez la formule suivante pour calculer le débit moyen du volume EBS :
Débit moyen estimé en octets/s = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / (Period - Sum(VolumeIdleTime) )
Utilisez la formule suivante pour calculer la moyenne des IOPS pour le volume EBS :
Nombre moyen estimé d'IOPS en opérations/s = (Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / ( Period - Sum(VolumeIdleTime) )
Utiliser CloudWatch pour obtenir un événement de micro-bursting
Effectuez les opérations suivantes :
- Ouvrez la console CloudWatch.
- Sélectionnez Toutes les métriques.
- Utilisez l'ID de volume pour rechercher le volume qui a subit un événement de micro-bursting.
- Sélectionnez EBS, puis Métriques par volume.
- Pour afficher les mesures de débit, sélectionnez VolumeReadBytes, VolumeWriteBytes et VolumeIdleTime.
- Sélectionnez Graphique des métriques.
- Pour Statistiques, sélectionnez Somme, et pour Période, sélectionnez 1 minute.
- Pour Ajouter une expression mathématique, sélectionnez Commencer par une expression vide.
- Pour Détails de l'expression, utilisez les ID de graphe attribués pour VolumeReadBytes, VolumeWriteBytes, VolumeIdleBytes. Cela permet d'établir la formule de débit moyen en octets/s estimé.
Par exemple, (m1+m2) / (60 m3).
Si le graphique indique une valeur supérieure au débit maximal pour le volume, cela signifie qu’un événement de micro-bursting se produit dans la charge de travail.
Pour vérifier si un événement de micro-bursting s’est produit en raison des opérations d'I/O, suivez les étapes précédentes. Puis, à l'étape 5, remplacez VolumeReadBytes, VolumeWriteBytes et VolumeIdleTime par VolumeReadOps, VolumeWriteOps et VolumeIdleTime.
Utiliser un outil au niveau du système d'exploitation pour confirmer l’événement de micro-bursting
Un volume EBS peut subir un événement de micro-bursting même lorsqu'il est occupé (la valeur de VolumeIdleTime est faible). Pour les volumes présentant une valeur de VolumeIdleTime faible, les outils au niveau du système d'exploitation qui effectuent une collecte granulaire d'échantillons constituent un moyen plus efficace d'identifier si un événement de micro-bursting se produit dans la charge de travail.
Linux
Pour signaler les statistiques d'I/O pour tous vos volumes montés avec une granularité d'une seconde, exécutez la commande iostat :
iostat -xdmzt 1
Pour en savoir plus, consultez la page iostat(1) sur le site Web de la page de manuel Linux.
Remarque : L'outil iostat fait partie du package sysstat. Si vous ne trouvez pas la commande iostat, exécutez la commande suivante pour installer sysstat sur les Application Machine Images (AMI) Amazon Linux :
sudo yum install sysstat -y
Pour déterminer si vous atteignez la limite de débit, examinez les rMBps et wMBps dans la sortie. Si rMBps + wMBps est supérieur au débit maximal du volume, un événement de micro-bursting se produit dans le volume.
Pour déterminer si vous atteignez la limite d'IOPS, vérifiez les valeurs rps et wps dans la sortie. Si rps + wps est supérieur au nombre maximal d’IOPS du volume, un événement de micro-bursting se produit dans le volume.
Windows
Exécutez la commande perfmon dans Windows Performance Monitor. Pour en savoir plus, consultez la section Déterminer vos exigences en matière d'IOPS et de débit.
Modifier la taille ou le type de votre volume afin qu'il s'adapte à vos applications et éviter les événements de micro-bursting
Les événements de micro-bursting peuvent entraîner une limitation des I/O ou une latence des I/O dans votre application. Pour éviter cela, modifiez le volume à un type et une taille adaptés aux IOPS et au débit souhaités, même à des niveaux de micro-bursting. Pour en savoir plus, consultez la section Types de volume Amazon EBS. L'instance ne peut transmettre qu'un certain seuil d'IOPS et de débit à tous les volumes EBS attachés.
Il est recommandé de comparer vos volumes à votre charge de travail afin de vérifier quels types de volume s'adaptent en toute sécurité à votre charge de travail dans un environnement de test. Pour en savoir plus, consultez la section Comparaison des volumes EBS Amazon.