À quel moment l'utilisation d'EBS est-elle le goulot d'étranglement?

10

J'ai un site hébergé sur Amazon utilisant une instance EC2 soutenue par un volume EBS. Le week-end, les pics de trafic et j'augmente l'instance, ce qui aide beaucoup - je ne vois plus l'utilisation du processeur à 100% et le serveur ne répond plus.

Cependant, je remarque que les lectures de disque sont également très élevées (ne peut pas être aidé, je ne pense pas) et je me demande, à quel moment vais-je voir une sorte d'échec parce que le disque ne peut pas garder en place?

Comme vous pouvez le voir sur la capture d'écran ci-jointe, elle a atteint un maximum de 80 Mo / minute au cours du week-end. Quelqu'un a-t-il une expérience avec AWS et sait-il à quel moment je devrai passer à des instances équilibrées à plusieurs charges car EBS devient le goulot d'étranglement?

Graphique d'utilisation EBS

ESW
la source
2
Je pense que nous avons besoin de quelques détails sur la couche application ici. Quelle est l'activité de lecture du disque? Accès aléatoire pour les images / actifs? Grandes lectures séquentielles (par exemple, sauvegardes de bases de données ou analyses)? Notez que vous pouvez exécuter plusieurs volumes EBS attachés à une seule instance en faisant un logiciel RAID-0 pour améliorer les choses.
rmalayter
la plupart de ces lectures sont des fichiers plus petits (moins de 1 Mo, beaucoup moins de 500 Ko) mais pas des fichiers "minuscules". Je n'ai aucune idée s'il s'agit d'une charge pour un volume EBS ou si cette quantité de trafic est insignifiante - et je n'ai aucune idée de comment le comprendre.
ESW du
Je venais d'écrire une réponse mettant en vedette RAID et EBS quand j'ai lu votre commentaire, malayter. J'ajouterais que RAID10 pourrait être une solution plus flexible, car elle devrait améliorer les lectures ET les écritures.
tsykoduk
@tsykoduk En général, tous les types de stockage AWS ont des performances quelque peu non évidentes et même s'il peut sembler que RAID10 pourrait améliorer les performances, il est vraiment préférable d'essayer une analyse comparative avec le type de modèles d'accès et la charge que votre application réelle est susceptible de rencontrer. . Même alors, vos performances sont susceptibles de varier énormément à certains moments dans l'environnement AWS par rapport à une solution auto-hébergée où vous avez plus de contrôle - et donc plus de prévisibilité - sur les performances de stockage. En général, avoir plus d'un volume dans une configuration RAID est susceptible d'avoir un impact positif.
aculich

Réponses:

5

La première chose à garder à l'esprit qui aura le plus d'impact sur vos performances d'E / S est le type d'instance que vous utilisez.

Instance Type   I/O Performance
-------------   ---------------
t1.micro        Low
m1.small        Moderate
m2.xlarge       Moderate
c1.medium       Moderate
m1.large        High
m1.xlarge       High
m2.2xlarge      High
m2.4xlarge      High
c1.xlarge       High
cc1.4xlarge     Very High (10 Gigabit Ethernet)
cc2.8xlarge     Very High (10 Gigabit Ethernet)
cg1.4xlarge     Very High (10 Gigabit Ethernet)

En ce qui concerne les volumes EBS et les performances que vous obtiendrez, comme le suggère la FAQ AWS , vous devrez comparer votre application pour voir à quoi vous attendre:

Q: Quels types de latence et de taux de débit puis-je m'attendre à voir sur les volumes Amazon EBS? La latence d'une instance Amazon EC2 vers un volume Amazon EBS est similaire à la latence que vous verriez à partir du lecteur de stockage d'instance Amazon EC2 local. Les taux d'E / S peuvent varier considérablement en fonction de la taille des demandes, du caractère aléatoire des modèles d'accès et de la stratégie de mise en cache utilisée par l'application. En tant que tel, la mesure la plus précise consiste à comparer votre application spécifique sur un volume Amazon EBS.

Cela signifie que les taux EBS que vous obtenez ne sont pas nécessairement pires ou meilleurs que le stockage d'instance local; cela dépend vraiment de votre comportement d'accès aux données.

Plus d'informations sur la page AWS EBS :

Performances du volume Amazon EBS

Les volumes Amazon EBS sont conçus pour offrir un débit plus élevé que les magasins d'instances Amazon EC2 pour les applications effectuant de nombreux accès aléatoires dans votre ensemble de données. Vous pouvez également attacher plusieurs volumes à une instance et les répartir sur les volumes pour augmenter encore le débit.

Les performances exactes dépendront de l'application (par exemple, des E / S aléatoires par rapport aux E / S séquentielles ou de grandes à petites tailles de demande), donc la meilleure mesure consiste à comparer vos applications réelles par rapport au volume. Parce que les volumes Amazon EBS nécessitent un accès réseau, vous verrez des performances de débit plus rapides et plus cohérentes avec des instances plus grandes.

Gardez également à l'esprit que les performances d'E / S incluent non seulement les E / S disque, mais également le trafic réseau ... donc, plus votre instance reçoit de trafic réseau, moins vous obtenez d'E / S disque.

Selon ce que vous proposez, la mise en cache des objets en mémoire peut considérablement aider si cela est possible pour votre type d'application.

En outre, voici quelques articles de blog qui comparent les performances d'EBS et des volumes locaux (éphémères) dans diverses configurations RAID et ajustements pour obtenir de bonnes performances d'E / S:

Disques éphémères EC2 vs volumes EBS en RAID

Performances d'E / S Amazon EC2: disques éphémères locaux contre volumes EBS rayés RAID 0

Obtenir une bonne E / S à partir d'EBS d'Amazon

aculich
la source
2
Ce site semble également avoir de bonnes informations: ec2instances.info
Gianfranco P.