Welches ist schneller für den Lesezugriff auf EC2; lokales Laufwerk oder EBS?


11

Welches ist schneller für den Lesezugriff auf eine EC2-Instanz; das "lokale" Laufwerk oder ein angeschlossenes EBS-Volume?

Ich habe einige Daten, die beibehalten werden müssen, also habe ich diese auf einem EBS-Volume abgelegt. Ich verwende OpenSolaris, daher wurde dieses Volume als ZFS-Pool angehängt. Ich habe jedoch einen großen Teil des EC2-Speicherplatzes, der nicht verwendet wird. Daher überlege ich, dies als ZFS-Cache-Volume zu verwenden, möchte dies jedoch nicht tun, wenn der Datenträgerzugriff langsamer als sein wird das des EBS-Volumens, da es sich möglicherweise nachteilig auswirken würde.

Antworten:


13

Nur um ein wenig zum Konsens beizutragen, dass EBS schneller ist ...

Ein wichtiger Punkt, den Sie hier verstehen sollten, ist, dass die Speichergeschwindigkeit von Instanzen nicht vorhersehbar ist - Amazon übernimmt keine Garantie dafür.

Diese Informationen stammen aus dem Buch Cloud Application Architectures von George Reese (das nach dem, was ich bisher überflogen habe, ziemlich gut zu sein scheint). Es enthält eine Tabelle mit dem Titel Vergleich der EC2-Datenspeicheroptionen (S. 41). Hier ist ein Ausschnitt aus dieser Tabelle (im Buch werden mehrere andere Merkmale verglichen):

               S3              Instance          EBS

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

So Instance - Speicherung könnte EBS übertrifft manchmal in dem Lesezugriff, aber wenn Sie wollen konstant hohe Geschwindigkeit, müssen Sie in der Tat mit der EBS gehen. Wie Reese es in seinem Buch formuliert:

Ein weiteres Problem ist die Unvorhersehbarkeit der Leistung im Instanzspeicher. Sie könnten tatsächlich denken, dass es schneller sein sollte als die anderen Optionen, und manchmal ist es das auch. Manchmal ist es jedoch unglaublich langsam - langsamer als ein NFS-Mount über eine 10-bT-Ethernet-Verbindung. EBS hingegen bietet Ihnen konsistent die Leistung eines SAN über eine GB-Ethernet-Verbindung.


4
Ich habe genau das Gegenteil erlebt. Die Leistung von EBS ist unvorhersehbar. Alle größeren Ausfallzeiten von EC2 betrafen EBS. Der Instanzenspeicher hatte immer eine vorhersehbare Leistung.
Joe Van Dyk

3
Da es nicht intuitiv ist, dass die lokale Festplatte langsamer ist (insbesondere wenn Sie SSDs verwenden), wäre es schön, mehr Informationen zu haben als "jemand sagt, dass es schneller ist"
L. Blanc

8

Bei einer systematischen Untersuchung dieser und verwandter Fragen haben wir AWS-Gebühren in Höhe von rund 1000 US-Dollar erhoben und eine umfassende Analyse veröffentlicht .

Für zufällige (kleine) Lesevorgänge haben wir festgestellt, dass "lokaler" Speicher (EC2-Instanz) und EBS eine ähnliche Leistung aufweisen, lokaler Speicher jedoch einen besseren Latenzzeitpunkt aufweist.

Bei sequentiellen (Massen-) Lesevorgängen ist EBS auf m1.small schneller, auf m1.large jedoch lokal. Wir haben local nicht direkt mit EBS für andere Instanztypen verglichen, aber wir haben festgestellt, dass eine Erhöhung der Instanzgröße die Leistung des lokalen Geschäfts wesentlich stärker beeinflusst als die Leistung von EBS.

Es gibt auch eine Kostenfrage. Durch die Verlagerung von E / A von EBS auf die lokale Festplatte reduzieren Sie Ihre AWS-Gebühren.


2

Wenn Sie nach Datenbankleistung in Amazon suchen, ist dieser Artikel möglicherweise hilfreich: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/

Die allgemeine Stimmung aus meiner eigenen Forschung (ich habe einige Wochen darüber gelesen) ist, dass EBS die schnellere Option ist.


Ich habe Berichte gehört, dass Sie einmal über das Laufwerk schreiben sollten, da das anfängliche Schreiben an einen Speicherort einen hohen Overhead hat. Außerdem kann es manchmal vorkommen, dass Sie einen schlechten EBS-Controller haben. Überprüfen Sie daher am besten deren Geschwindigkeit, bevor Sie kritische Schritte ausführen. Ich habe eine kleine Anzahl von Laufwerken mit diesem Problem gesehen. Es entstand, als ich 4 500-GB-Laufwerke fotografierte, und 1 davon dauerte 4-5x länger, selbst mit denselben Daten.
Flashman

1

Amazon hat vage Behauptungen aufgestellt, dass EBS die "lokale" Scratch-Partition auf einer EC2-Instanz im Allgemeinen übertreffen wird. Ich weiß, dass ich bei meinem eigenen Gebrauch einen höheren Durchsatz auf einem EBS-Volume festgestellt habe, aber ich hatte mir nicht die Mühe gemacht, die Latenz zu messen.

Wenn Sie neugierig auf die Leistung bei einer bestimmten Verwendung sind, ist es wahrscheinlich am besten, eine Testinstanz einzurichten. Ich weiß, dass ich würde.


1

Ich habe MySQL-Instanzen auf EBS-Volumes ausgeführt und war mit deren Leistung zufrieden. Ich habe auch keine harten Daten, aber es hat gut funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.