Ce qui est plus rapide pour l'accès en lecture sur EC2; lecteur local ou EBS?

11

Ce qui est plus rapide pour l'accès en lecture sur une instance EC2; le lecteur "local" ou un volume EBS attaché?

J'ai des données qui doivent être conservées, j'ai donc placé cela sur un volume EBS. J'utilise OpenSolaris, donc ce volume a été attaché en tant que pool ZFS. Cependant, j'ai une grande partie de l'espace disque EC2 qui ne sera pas utilisée, donc j'envisage de redéfinir cela comme un volume de cache ZFS mais je ne veux pas le faire si l'accès au disque va être plus lent que celle du volume EBS car elle aurait potentiellement un effet néfaste.

Phillip B Oldham
la source

Réponses:

13

Juste pour ajouter un peu au consensus selon lequel l'EBS est plus rapide ...

Un point important à comprendre ici est que la vitesse de stockage des instances est imprévisible - Amazon ne fait aucune garantie à ce sujet.

Ces informations proviennent du livre Cloud Application Architectures de George Reese (qui semble assez bon d'après ce que j'ai pu parcourir jusqu'à présent). Il comprend un tableau intitulé Comparaison des options de stockage de données EC2 (p. 41); voici un extrait de ce tableau (dans le livre, il y a plusieurs autres caractéristiques comparées):

               S3              Instance          EBS

Speed          Low             Unpredictable     High
Reliability    Medium          High              High
Durability     Super high      Super low         High

Ainsi, le stockage d'instance peut parfois surpasser EBS en accès en lecture, mais si vous voulez une vitesse élevée constante , vous devez en effet opter pour EBS. Comme Reese le dit dans son livre:

Un autre problème est l'imprévisibilité des performances dans le stockage d'instance. Vous pourriez en fait penser que cela devrait être plus rapide que les autres options, et parfois c'est le cas. Parfois, cependant, il est incroyablement lent - plus lent qu'un montage NFS sur une connexion Ethernet 10bT. EBS, en revanche, vous offre systématiquement les performances d'un SAN sur une connexion Ethernet GB.

Jonik
la source
4
J'ai eu exactement l'expérience inverse. Les performances d'EBS sont imprévisibles. Tous les principaux temps d'arrêt d'EC2 ont impliqué EBS. Le stockage d'instance a toujours eu des performances prévisibles.
Joe Van Dyk
3
Comme il est contre-intuitif que le disque local soit plus lent (surtout si vous utilisez des SSD), il serait bien d'avoir plus d'informations que «quelqu'un dit que c'est plus rapide»
L. Blanc
8

Nous avons accumulé environ 1000 $ de frais AWS dans une exploration systématique de cette question et des questions connexes, et avons publié une analyse approfondie .

Pour les lectures aléatoires (petites), nous avons trouvé que le stockage "local" (instance EC2) et EBS avaient des performances similaires, mais le stockage local a une meilleure latence.

Pour les lectures séquentielles (en bloc), EBS est plus rapide sur m1.small, mais local est plus rapide sur m1.large. Nous n'avons pas directement comparé local et EBS sur d'autres types d'instances, mais nous avons constaté que l'augmentation de la taille des instances a beaucoup plus d'effet sur les performances du magasin local que sur les performances d'EBS.

Il y a aussi une question de coût. En déplaçant les E / S d'EBS vers le disque local, vous réduirez vos frais AWS.

Steve
la source
2

Si vous recherchez les performances d'une base de données sur Amazon, cet article peut vous être utile: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/

L'ambiance générale de mes propres recherches (je lis à ce sujet depuis quelques semaines) est que l'EBS est l'option la plus rapide.

Chris Thorpe
la source
J'ai entendu des rapports selon lesquels vous devriez écrire une fois sur le lecteur, car l'écriture initiale dans un emplacement a une surcharge élevée. En outre, vous pouvez parfois obtenir un mauvais contrôleur EBS, il serait donc préférable de vérifier leur vitesse avant de faire quoi que ce soit de critique. J'ai vu un petit nombre de disques avec ce problème. Il est survenu lorsque je prenais un instantané de 4 disques de 500 Go, et 1 d'entre eux a pris 4 à 5 fois plus longtemps, même avec les mêmes données.
Flashman
1

Amazon a fait de vagues affirmations selon lesquelles EBS surpasserait généralement la partition scratch "locale" sur une instance EC2. Je sais que j'ai connu un débit plus élevé sur un volume EBS dans mon propre usage, mais je n'avais pas pris la peine de mesurer la latence.

Si vous êtes curieux de connaître les performances d'une utilisation particulière, le mieux est probablement de configurer une instance de test. Je sais que je le ferais.

Sam Rodgers
la source
1

J'ai exécuté des instances MySQL sur des volumes EBS et j'ai été satisfait de leurs performances. Je n'ai pas non plus de données fiables, mais cela a très bien fonctionné.

UltimateBrent
la source