

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.

# I/O Caractéristiques et surveillance d'Amazon EBS
<a name="ebs-io-characteristics"></a>

Dans une configuration de volume donnée, certaines I/O caractéristiques déterminent le comportement des performances de vos volumes EBS.
+ SSD-backed les volumes, les SSD à usage général (`gp2`et`gp3`) et les SSD à IOPS provisionnés (`io1`et`io2`) offrent des performances constantes, qu'une I/O opération soit aléatoire ou séquentielle.
+ HDD-backed les volumes, Throughput Optimized HDD (`st1`) et Cold HDD (`sc1`), offrent des performances optimales uniquement lorsque les I/O opérations sont volumineuses et séquentielles.

Pour comprendre les performances des volumes SSD et HDD dans votre application, il est important de connaître le lien entre la demande du volume, le nombre d'IOPS disponibles, le temps nécessaire à l'exécution d'une I/O opération et les limites de débit du volume.

**Topics**
+ [IOPS](#ebs-io-iops)
+ [Latence et longueur de file d’attente d’un volume](#ebs-io-volume-queue)
+ [I/O limites de débit de taille et de volume](#ebs-io-size-throughput-limits)
+ [Surveillez les I/O caractéristiques à l'aide CloudWatch](#ebs-io-metrics)
+ [Surveillez les statistiques de I/O performance en temps réel](#monitor-io-nvme)
+ [Ressources connexes](#ebs-io-resources)

## IOPS
<a name="ebs-io-iops"></a>

Les IOPS sont une unité de mesure représentant les input/output opérations par seconde. Les opérations sont mesurées en KiB, et la technologie de disque sous-jacente détermine la quantité maximale de données qu'un type de volume compte comme une seule donnée I/O. I/O la taille est plafonnée à 256 KiB pour les volumes SSD et à 1 024 KiB pour les volumes HDD, car les volumes SSD gèrent des volumes petits ou aléatoires I/O beaucoup plus efficacement que les volumes HDD. 

Lorsque de petites I/O opérations sont physiquement séquentielles, Amazon EBS tente de les fusionner en une seule I/O opération jusqu'à la taille maximale I/O . De même, lorsque les I/O opérations dépassent la I/O taille maximale, Amazon EBS tente de les diviser en I/O opérations plus petites. Le tableau suivant montre quelques exemples.



- **SSD**
  - **I/O Taille maximale:** 256 Kio
  - **I/O opérations depuis votre application:** 1 x 1 024 KiB en I/O fonctionnement / **Nombre d’IOPS:** 4 (1 024÷256=4) / **Remarques:** Amazon EBS divise l'opération de 1 024 I/O KiB en quatre opérations plus petites de 256 KiB.
  - **I/O opérations depuis votre application:** 8 opérations séquentielles de 32 KiB I/O  / **Nombre d’IOPS:** 1 (8x32=256) / **Remarques:** Amazon EBS fusionne les huit I/O opérations séquentielles de 32 KiB en une seule opération de 256 KiB.
  - **I/O opérations depuis votre application:** 8 I/O opérations aléatoires de 32 KiB / **Nombre d’IOPS:** 8 / **Remarques:** Amazon EBS compte les I/O opérations aléatoires séparément.

- **HDD**
  - **I/O Taille maximale:** 1 024 KiB
  - **I/O opérations depuis votre application:** 1 x 1 024 KiB en I/O fonctionnement / **Nombre d’IOPS:** 1 / **Remarques:** L' I/O opération est déjà égale à la I/O taille maximale. Elle n’est ni fusionnée ni divisée.
  - **I/O opérations depuis votre application:** 8 opérations séquentielles de 128 KiB I/O  / **Nombre d’IOPS:** 1 (8x128=1 024) / **Remarques:** Amazon EBS fusionne les huit opérations séquentielles de 128 KiB en une seule I/O opération de 1 024 KiB. I/O 
  - **I/O opérations depuis votre application:** 8 I/O opérations aléatoires de 32 KiB / **Nombre d’IOPS:** 8 / **Remarques:** Amazon EBS compte les I/O opérations aléatoires séparément.



Par conséquent, lorsque vous créez un SSD-backed volume supportant 3 000 IOPS (soit en provisionnant un `io2` volume avec 3 000 IOPS, `io1` soit en dimensionnant un volume `gp2` à 1 000 GiB, soit en utilisant un `gp3` volume), et que vous l'attachez à une EBS-optimized instance capable de fournir une bande passante suffisante, vous pouvez transférer jusqu'à 3 000 données par seconde, le débit I/Os étant déterminé par la taille. I/O 

## Latence et longueur de file d’attente d’un volume
<a name="ebs-io-volume-queue"></a>

La longueur de la file d'attente du volume correspond au nombre de I/O demandes en attente pour un appareil. La latence est le véritable temps passé par le client à effectuer une I/O opération de bout en bout, en d'autres termes, le temps écoulé entre l'envoi d'un message I/O à EBS et la réception d'un accusé de réception d'EBS indiquant que la lecture ou l'écriture est terminée. I/O La longueur de la file d'attente doit être correctement calibrée en fonction de I/O la taille et de la latence afin d'éviter de créer des goulots d'étranglement sur le système d'exploitation client ou sur la liaison réseau avec EBS.

La longueur de la file d’attente optimale varie en fonction des charges de travail, selon la sensibilité de votre application à la latence et à l’IOPS. Si votre charge de travail ne fournit pas suffisamment de I/O demandes pour utiliser pleinement les performances disponibles sur votre volume EBS, il est possible que votre volume ne fournisse pas les IOPS ou le débit que vous avez provisionnés. 

Transaction-intensive les applications sont sensibles à une I/O latence accrue et sont bien adaptées aux SSD-backed volumes. Vous pouvez conserver des IOPS élevées et une latence faible grâce à une longueur de file d’attente moyenne réduite et à un nombre élevé d’IOPS disponibles pour le volume. L'augmentation constante du nombre d'IOPS sur un volume par rapport à ce qu'il est disponible peut entraîner une augmentation de la I/O latence. Pour une cohérence maximale, un volume doit maintenir une profondeur de file d'attente moyenne (arrondie au nombre entier le plus proche) d'une pour 1 000 IOPS provisionnées par minute. Par exemple, pour un volume provisionné avec 3 000 IOPS, la profondeur moyenne de la file d'attente doit être de 3.

Throughput-intensive les applications sont moins sensibles à une I/O latence accrue et sont bien adaptées aux HDD-backed volumes. Vous pouvez maintenir un débit élevé vers les HDD-backed volumes en maintenant une longueur de file d'attente élevée lorsque vous effectuez des opérations I/O séquentielles volumineuses.

## I/O limites de débit de taille et de volume
<a name="ebs-io-size-throughput-limits"></a>

Pour les SSD-backed volumes, si votre I/O taille est très importante, le nombre d'IOPS peut être inférieur à celui que vous avez provisionné, car vous atteignez la limite de débit du volume. Par exemple, un `gp2` volume inférieur à 1 000 GiB avec des crédits de rafale disponibles a une limite d'IOPS de 3 000 et une limite de débit de volume de 250. MiB/s Si vous utilisez une I/O taille de 256 KiB, votre volume atteint sa limite de débit à 1 000 IOPS (1 000 x 256 KiB = 250 MiB). Pour les I/O tailles plus petites (telles que 16 KiB), ce même volume peut supporter 3 000 IOPS car le débit est bien inférieur à 250. MiB/s (Ces exemples supposent que votre volume I/O n'atteint pas les limites de débit de l'instance.) Pour plus d’informations sur les limites de débit pour chaque type de volume EBS, consultez [Types de volume Amazon EBS](ebs-volume-types.md). 

Pour les I/O opérations de moindre envergure, il est possible que vous constatiez une valeur d'IOPS supérieure à celle prévue, mesurée depuis l'intérieur de votre instance. Cela se produit lorsque le système d'exploitation de l'instance fusionne de petites I/O opérations en une opération plus importante avant de les transmettre à Amazon EBS.

Si votre charge de travail utilise l'activation séquentielle I/Os HDD-backed `st1` et les `sc1` volumes, vous risquez de rencontrer un nombre d'IOPS plus élevé que prévu, mesuré depuis l'intérieur de votre instance. Cela se produit lorsque le système d'exploitation de l'instance fusionne de manière séquentielle I/Os et les compte en 1 KiB-sized 024 unités. Si votre charge de travail est faible ou aléatoire I/Os, il se peut que vous obteniez un débit inférieur à ce à quoi vous vous attendiez. Cela est dû au fait que nous comptons chaque valeur aléatoire et non séquentielle I/O dans le calcul du nombre total d'IOPS, ce qui peut vous amener à atteindre la limite d'IOPS du volume plus tôt que prévu.

Quel que soit votre type de volume EBS, si vous n’obtenez pas les IOPS ou le débit prévus dans votre configuration, veillez à ce que la bande passante de votre instance EC2 ne soit pas à l’origine de la limite. Vous devez toujours utiliser une instance de génération actuelle (ou une EBS-optimized instance qui inclut 10 connexions Gb/s réseau) pour des performances optimales. Le fait que vous ne conduisiez pas suffisamment I/O vers les volumes EBS est une autre cause possible de ne pas atteindre les IOPS attendus.

## Surveillez les I/O caractéristiques à l'aide CloudWatch
<a name="ebs-io-metrics"></a>

Vous pouvez surveiller ces I/O caractéristiques à l'aide des [mesures de CloudWatch volume](using_cloudwatch_ebs.md#ebs-volume-metrics) de chaque volume.

**Moniteur en cas de blocage I/O**  
`VolumeStalledIOCheck` surveille le statut de vos volumes EBS afin de déterminer à quel moment ils sont dégradés. La métrique est une valeur binaire qui renvoie un statut `0` (réussite) ou un statut `1` (échec) selon que le volume EBS peut ou non terminer I/O ses opérations. 

Si la `VolumeStalledIOCheck` métrique échoue, vous pouvez soit attendre AWS que le problème soit résolu, soit prendre des mesures, telles que le remplacement du volume concerné ou l'arrêt et le redémarrage de l'instance à laquelle le volume est attaché. Dans la plupart des cas, lorsque cette métrique échoue, EBS diagnostique et restaure automatiquement votre volume en quelques minutes. Vous pouvez utiliser l' I/Oaction [Pause](ebs-fis.md) in AWS Fault Injection Service pour exécuter des expériences contrôlées afin de tester votre architecture et votre surveillance sur la base de cette métrique afin d'améliorer votre résilience face aux défaillances de stockage.

**Surveiller la I/O latence d'un volume**  
Vous pouvez surveiller la latence moyenne pour les opérations de lecture et d'écriture d'un volume Amazon EBS en utilisant respectivement les `VolumeAvgWriteLatency` métriques `VolumeAvgReadLatency` et. Vous pouvez utiliser l'action [d'injection de latence](ebs-fis-latency-injection.md) AWS Fault Injection Service pour exécuter des expériences contrôlées afin de tester votre architecture et votre surveillance sur la base de cette métrique afin d'améliorer votre résilience face à la dégradation des performances de stockage.

Si votre I/O latence est supérieure à ce dont vous avez besoin, assurez-vous que votre application n'essaie pas de générer plus d'IOPS ou de débit que ce que vous avez prévu pour votre volume. Vous pouvez utiliser les `VolumeAvgThroughput` métriques `VolumeAvgIOPS` et pour surveiller les IOPS et le débit moyens acheminés vers votre volume en une minute, puis les comparer aux IOPS et au débit provisionnés du volume. Si le volume ne génère aucune opération pendant la minute, les métriques indiqueront une valeur de zéro (`0`). Si des pics d'IOPS ou de débit élevés se produisent pendant une période inférieure à un intervalle de quelques minutes, le volume subit des micro-rafales, mais les indicateurs de débit et d'E/S par seconde moyens peuvent indiquer que vous obtenez des performances inférieures aux IOPS ou aux limites de débit allouées à votre volume. Pour déterminer si les performances de votre volume augmentent en une minute donnée, vous pouvez utiliser les `VolumeThroughputExceededCheck` indicateurs `VolumeIOPSExceededCheck` et. Vous pouvez surveiller ces indicateurs pour déterminer si votre charge de travail a constamment tenté de générer des IOPS ou un débit supérieur aux performances allouées à votre volume au cours d'une minute donnée. Si le nombre d'IOPS générées pendant une seconde par minute dépasse systématiquement les performances d'IOPS provisionnées de votre volume, la `VolumeIOPSExceededCheck` métrique est renvoyée. `1` Si le débit piloté pendant une seconde en une minute dépasse régulièrement les performances de débit provisionné de votre volume, la `VolumeThroughputExceededCheck` métrique est renvoyée. `1` Si les IOPS et le débit pilotés sont conformes aux performances allouées à votre volume, les indicateurs sont renvoyés. `0`

Si votre application a besoin d’un nombre d’IOPS supérieur à ce que votre volume peut fournir, envisagez d’utiliser l’une des options suivantes :
+ Un volume `gp3`, `io2`, ou `io1` approvisionné avec suffisamment d’IOPS pour atteindre la latence requise
+ Un volume `gp2` plus important qui fournit des performances IOPS de base suffisantes

HDD-backed `st1`et les `sc1` volumes sont conçus pour optimiser les performances avec des charges de travail tirant parti de la taille maximale I/O de 1 024 KiB. Pour déterminer la I/O taille moyenne de votre volume, divisez `VolumeWriteBytes` par`VolumeWriteOps`. Le même calcul s’applique pour les opérations de lecture. Si I/O la taille moyenne est inférieure à 64 KiB, l'augmentation de la taille I/O des opérations envoyées à un `sc1` volume `st1` OR devrait améliorer les performances.

**Surveillez l'équilibre des compartiments en rafale pour`gp2`,`st1`, et les `sc1` volumes**  
`BurstBalance` affiche l’équilibre du compartiment en rafales des volumes `gp2`, `st1` et `sc1` sous forme de pourcentage du solde restant. Lorsque votre bucket en rafale est épuisé, le volume I/O (pour les `gp2` volumes) ou le débit (pour `st1` et les `sc1` volumes) est limité à la valeur de référence. Vérifiez la valeur `BurstBalance` pour déterminer si votre volume est limité pour cette raison. Pour obtenir la liste complète des métriques Amazon EBS disponibles, consultez la section [CloudWatch Métriques Amazon pour Amazon EBS](using_cloudwatch_ebs.md) et les métriques [Amazon EBS pour Nitro-based les instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ebs-metrics-nitro).

## Surveillez les statistiques de I/O performance en temps réel
<a name="monitor-io-nvme"></a>

Vous pouvez accéder à des statistiques de performance détaillées en temps réel pour les volumes Amazon EBS attachés à des instances Nitro-based Amazon EC2.

Vous pouvez combiner ces statistiques pour obtenir la latence moyenne et les IOPS, ou pour vérifier si les I/O opérations sont terminées. Vous pouvez également consulter la durée totale pendant laquelle votre application a dépassé les IOPS ou les limites de débit allouées à votre volume EBS ou à l'instance attachée. En suivant l'augmentation de ces statistiques au fil du temps, vous pouvez déterminer si vous devez augmenter vos IOPS provisionnées ou vos limites de débit pour optimiser les performances de votre application. Les statistiques de performances détaillées incluent également des histogrammes pour les I/O opérations de lecture et d'écriture, qui fournissent une distribution de votre I/O latence en suivant le nombre total d' I/O opérations effectuées dans une bande de latence.

Pour de plus amples informations, veuillez consulter [Statistiques de performances détaillées d'Amazon EBS](nvme-detailed-performance-stats.md).

## Ressources connexes
<a name="ebs-io-resources"></a>

Pour plus d'informations sur les I/O caractéristiques d'Amazon EBS, consultez la présentation re:Invent suivante : [Amazon EBS :](https://www.youtube.com/watch?v=2wKgha8CZ_w) Designing for Performance.