La machine AWS est lente mais vous n'êtes pas à court de crédit ?

Machine AWS lente, mais vous n'êtes pas à court de crédit ?

Vous utilisez peut-être une instance t2 ou t3. Ces instances sont très bon marché. Elles vous permettent d'installer un serveur web, une base de données si vous le souhaitez, mais elles fonctionnent avec un système de crédit CPU.

Crédits CPU

Si votre application utilise l'unité centrale de la machine à 100 %, elle utilise des crédits. Ces crédits se reconstituent à chaque fois que votre charge de CPU diminue et sont calculés toutes les minutes. Selon la taille de l'instance (petite, moyenne, etc.), la ligne de base est différente.

Par exemple, pour une instance t2.nano, la ligne de base est de 5 % d'utilisation du CPU par heure. La ligne de base, les crédits accumulés et leur expiration sont bien documentés [ici] (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html).

Une fois que vous avez compris le concept du système de crédits, il est assez facile d'adapter vos besoins et vos instances en conséquence. L'onglet monitor ou cloudwatch sont vos meilleurs amis.

Graphique de surveillance d'une petite instance

Ainsi, lorsque votre instance commence à ralentir (vous essayez de vous connecter à ssh, cela prend plus de 10 minutes...), votre premier réflexe devrait être de vérifier le nombre de crédits CPU.

Si ces crédits CPU sont encore assez élevés... il se trouve qu'il y a aussi un système de crédits pour les disques durs !

Comme vous pouvez le voir sur la dernière image, dans mon cas, ces crédits n'apparaissent pas au niveau de l'instance, pour notre compte en tout cas.

Détail du stockage sur une petite instance

IOPS du disque dur

AWS calcule une base de référence pour les performances de votre disque dur en fonction du type de disque (gp2, gp3, io1, io2) et de sa taille. Plus la taille du disque est importante, plus le nombre d'IOPS et le débit attendu seront élevés. Si vous utilisez un serveur web, il est probable que vous utilisiez un petit disque dur avec gp2 ou gp3. Lorsque vous utilisez gp2 et gp3, votre disque dur a la possibilité de dépasser ces limites. C'est ce qu'on appelle la capacité de rafale (ou burst balance).

Burst balance

Tout comme le crédit CPU, ce solde augmente lorsque l'activité diminue. Voici la documentation officielle pour vous aider à comprendre et à [surveiller votre "Burst balance"] (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html#ebs-io-size-throughput-limits).

Surveillance sur un disque dur

La solution rapide consiste à passer de gp2/gp3 à io2. Cela vous coûtera plus cher, mais cela résoudra immédiatement le problème de lenteur. La solution adéquate est probablement de chercher à savoir pourquoi votre serveur génère soudainement autant d'IOPS.

Conclusion

Si vous avez des problèmes de performance sur votre serveur, vérifiez l'utilisation de votre CPU, puis vérifiez vos crédits de CPU, et n'oubliez pas de vérifier également l'équilibre des rafales de votre disque dur.

Par Pierre-Paul Lefebvre le 2024-01-10

Vous avez une question, une idée ou un projet pour lequel vous avez besoin d’aide?

Contactez-nous

Vous avez une urgence? Envoyez-nous un courriel à emergency@fixrs.ca ou appelez-nous au 514-316-6674.