Pourquoi mon volume SC1 ou ST1 EBS ne parvient-il pas aux performances de débit nominales ?

Dernière mise à jour : 29-10-2020

Mon volume ST1 ou SC1 Amazon Elastic Block Store (Amazon EBS) n'atteint pas les performances de débit indiquées dans la documentation AWS. Pourquoi ?

Brève description

Lorsque vous utilisez des volumes Amazon EBS de disque dur, tels que SC1 et ST1, prenez en compte les éléments suivants :

  • Ces volumes utilisent toujours un jeton d'E/S de 1 024 Kio, quelle que soit la taille d'E/S réelle utilisée par la charge de travail sur l'instance. Même si la taille d'E/S réelle de la charge de travail de l'application est définie sur 16 Kio, le volume utilise toujours la taille totale de 1 024 Kio du jeton d'E/S. Cela gaspille la majeure partie de l'espace du jeton. Pour maximiser l'efficacité, servez-vous de la totalité des 1 024 Kio.
  • Lorsque la taille d'E/S d'une charge de travail séquentielle est supérieure à 32 Kio, Amazon EBS fusionne toujours les E/S en une seule opération d'E/S de 1 024 Kio. Cette fusion utilise toute la taille du jeton.
  • Lorsque la taille d'E/S est inférieure à 32 Kio, ou si la charge de travail est aléatoire, Amazon EBS ne fusionne pas les E/S à 1 024 Kio. Toutefois, Amazon EBS utilise toujours la totalité de la taille de jeton de 1 024 Kio. Cela laisse la majeure partie de l'espace à l'intérieur du jeton vide. Étant donné que les E/S ne sont pas fusionnées, l'instance utilise davantage d'E/S par seconde pour envoyer la même quantité de données au volume. Cela entraîne une réduction de l'équilibre de rafale même si le débit est inférieur à sa valeur de référence.

Résolution

Pour permettre à vos volumes EBS ST1 et SC1 d'atteindre leur débit nominal maximal, procédez comme suit :

  • Configurez votre application pour qu'elle utilise une taille d'E/S supérieure à 32 Kio.
  • Vérifiez que votre application utilise une charge de travail séquentielle.

Exemple

Lors du calcul du débit, utilisez la formule suivante :

Débit = taille E/S * E/S par seconde

Si la taille d'E/S est inférieure à 32 Kio, le volume atteint sa limite d'E/S par seconde, ce qui limite le débit. Lorsque cela se produit, le volume n'atteint jamais ses performances de débit nominales.

Par exemple, la définition de la taille des E/S sur 16 Kio et l'envoi de 3 Mio/s de données donnent les résultats suivants :

3 Mio/s/16 Kio = 192 E/S par seconde

La définition de la taille des E/S à 32 Kio avec une charge de travail séquentielle/contiguë entraîne la fusion d'Amazon EBS à 1 024 Kio. Amazon envoie uniquement 3 E/S par seconde dans ce cas, comme indiqué dans le calcul suivant :

3 Mio/s/1 024 Kio = 3 E/S par seconde

Supposons que vous utilisez 0,5 Tio (500 Gio) d'un volume ST1. Ce volume offre idéalement une performance de débit de base de 20 Mio/s et peut monter jusqu'à 125 Mio/s.

Si le volume atteint 125 Mio/s et que la taille des E/S des applications est de 1 024 Kio, les E/S par seconde théoriques maximales sont égales à 125.

Débit / taille E/S = 125 Mio/s /1 024 Kio = 125 E/S par seconde.

Toutefois, si l'application utilise une taille d'E/S de 16 Kio, l'envoi de 3 Mio de données utilise 192 E/S par seconde. L'application ne peut pas transmettre 192 E/S par seconde car le volume n'atteint qu'un maximum théorique de 125. Dans ce cas, le volume réduit les E/S par seconde à 125. Dans ce scénario, le débit réel est le suivant :

Débit réel = 16 Kio * 125 = 1,95 Mio/s

Comme indiqué dans les calculs précédents, les E/S par seconde sont réduites à 125 et Amazon EBS bloque alors le débit à 1,95 Mio/s. Cette limitation se produit même si le débit théorique transmissible pour le volume est de 125 E/S par seconde étant donné que l'application utilisait une taille d'E/S de 1 024 Kio.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?