Wie schnell sind Ihre AWS EBS-Volumes?

Inhalt

AWS-Logo

Die Festplattengeschwindigkeit ist ein wichtiger Bestandteil bei der Messung der Serverleistung. AWS verfügt über viele verschiedene Arten von EBS-Volumes und verwendet ein Burst-Repository-Modell, entspricht T2-Instanzen, um die Gesamtgeschwindigkeit Ihrer Festplatte einzustellen.

Die meisten Server-Workloads beinhalten wahrscheinlich irgendeine Form von Speicher-Caching, Also wenn du genug RAM hast, Die Geschwindigkeit Ihrer Festplatte ist möglicherweise nicht von Bedeutung; sobald eine Datei gelesen wird, kann noch eine Weile in Erinnerung bleiben. Aber für schreibintensive Workloads, Die Festplattengeschwindigkeit wird zum limitierenden Faktor und kann Ihre Serverleistung beeinflussen oder beeinträchtigen.

IOPS- und SSD-Leistung erklärt

AWS listet und misst SSD-Geschwindigkeit durch E / A-Operationen pro Sekunde (IOPS). Dies ist größtenteils nur ein Maß für die zufällige 4K-Lese- und Schreibgeschwindigkeit des Geräts..

SSDs verhalten sich unter verschiedenen Workloads unterschiedlich, Es gibt also einige Alternativen, um zu messen, wie schnell sie sind. Der erste ist die sequentielle Lese- und Schreibgeschwindigkeit, was misst, wie schnell sie eine große Datei von der Festplatte lesen. Geschwindigkeit ist wichtig, besonders bei der Arbeit mit Big Data, aber das ist das ideale Szenario und, In der echten Welt, SSDs müssen oft Daten von mehreren Standorten gleichzeitig abrufen.

VERBUNDEN: So testen Sie die Festplattengeschwindigkeit und den RAM Ihres Linux-Servers

Eine bessere Metrik ist die zufällige Leistung. Dieser Benchmark liest und schreibt Dateien in Blöcken der Größe 4096 Bytes an zufälligen Orten, daher der Name “4K Random”. Bildet genauer die reale Belastung nach, der die SSD ausgesetzt sein kann.

Zufällige Orientierungspunkte können je nach Hecktiefe variieren, ein Maß dafür, wie viel die SSD gerade verarbeiten muss. Beim Abfragen der SSD nach einer Reihe von Dateien, die Tiefe des Schwanzes wird hoch sein, was die Leistung beschleunigt. Aber die Benchmark-Leistung wird in der Tiefe der Warteschlange gemessen 1, was anscheinend das ist, was AWS auf seinen SSDs misst.

Sollwert der Scheibengeschwindigkeit

IOPS ist ein Maß dafür, wie viele tatsächliche Operationen stattfinden. Die Formel, um IOPS von MB . zu finden / Ja, so ist es:

IOPS = (MBps / KB pro Vorgang) * 1024

Und wie wir lesen 4 KB gleichzeitig, die Formel wird:

IOPS = MB/s * 256

Die Desktop-SSD im obigen Screenshot hätte mehr als 13,000 IOPS, das ist ziemlich gut für eine NVME-SSD von 2 TB.

Das explosive Würfelmodell

Die Hauptsache, die AWS EBS-Volumes erschwert, ist die Burst-Leistung. Dies funktioniert ähnlich wie die Funktionsweise von T2-Instanzen / T3: wenn die Festplatte im Leerlauf ist, E-Credits sammeln / S mit einer durch die Größe des Volumens bestimmten Rate.

Estos créditos van a undepósito”, das akkumuliert sie bis zu einem Maximum von 5,4 Millionen, genug, um maximale Leistung während 30 Protokoll. Bucket startet voll, um einen schnellen Anwendungsstart und Instanzstart zu ermöglichen.

GP2 Explosionsschaufel-Modell

Das Guthaben geht aufgebraucht, um die Leistung zu erschöpfen. gp2 hat eine maximale Leistung von 3.000 IOPS, also kann es nur verbrauchen 3.000 pro Sekunde.

Volumes verdienen IO-Credits mit einer Rate von 3 pro GB pro Sekunde. Das bedeutet, dass bei einem Volumen von mehr als 1 TB, Ihr Tank ist immer voll und Sie müssen sich keine Sorgen um die Burst-Leistung machen. Alles andere als das und wird auf die Benchmark-Leistung basierend auf der Anzahl der von Ihnen verdienten Credits beschränkt.

Benchmark-Leistung übertrifft Burst nach 1 TB

Wenn Sie eine nachhaltigere Leistung benötigen, kann ein größeres Volumen mieten oder ein Volumen bereitgestellter IOPS nutzen (io1). Diese sind zwar pro GB teurer, ermöglichen es Ihnen, IOPS direkt zu kaufen. Sie können zwischen kaufen 100 und 64 000 IOPS, mit einer Rate von $ 0.065 pro bereitgestellten IOPS. Dies ist nur dann wirklich profitabel, wenn Sie mehr wollen als 3000 IOPS. Für alles darunter, zahlen effektiv den doppelten Preis für das Volumen. Als Beispiel, wenn Sie ein Volumen von benötigen 3000 IOPS de 64 GB, Sie können einfach ein Volumen von bereitstellen 1 TB gp2 Volumen zum halben Preis. Aber, wenn du die extra geschwindigkeit willst, kann es bezahlen.

Festplattenleistung (st1 und sc1)

AWS-festplattenbasierte EBS-Volumes verwenden auch ein Burst-Repository-Modell, aber Festplatten funktionieren etwas anders als SSDs, es wird also nicht in IOPS gemessen. Weil eine Festplatte einen rotierenden Plattenkopf verwendet, Lese- und Schreibgeschwindigkeiten werden behoben. Durch zufällige Lese- und Schreibvorgänge wird dies erheblich verlangsamt (einer der Hauptnachteile von Festplatten). AWS verwendet hier sequentielle Lesegeschwindigkeiten.

Zum st1, Grundgeschwindigkeit erhöht sich um 40 MiB / s für TB, ab 20 für die Mindestvolumengröße von 500 GB.

Grundleistung trifft auf Burst bei 12 TB

Burst-Geschwindigkeit erhöht sich um 250 MiB / s für TB, bis maximal 500 MiB / S. Für Volumina größer als 12 TB, kann die maximale Geschwindigkeit erreichen, die 100% Wetter. Etwas weniger, und Sie werden durch Ihr explodierendes Guthaben begrenzt.

Zum sc1, Grundgeschwindigkeit erhöht sich um 12 MiB / s für TB, ab 6 für die Mindestvolumengröße von 500 GB. Es macht es viel langsamer und es wird nie die erreichen 100% deiner Burst-Fähigkeit (aber billiger).

Die Basisleistung ist immer geringer als die Burst-Leistung

Die Burst-Geschwindigkeit ist ebenfalls begrenzt und erhöht sich um 80 MiB / s für TB, bis maximal 250 MiB / S. Dies entspricht ungefähr 8,000 IOPS, aber wieder, das ist wohl die sequentielle geschwindigkeit, und Sie werden auf keiner Festplatte so hohe zufällige Geschwindigkeiten sehen.

So finden Sie die Geschwindigkeit Ihres Pucks in der realen Welt

Du könntest ein Tool verwenden wie dd Trotz dieses, um die sequentielle Schreibgeschwindigkeit zu messen, dies überlastet die Festplatte nicht genug, um nützlich zu sein, und ist kein Hinweis auf einen tatsächlichen Anwendungsfall.

Um etwas besseres zu bekommen, Sie müssen ein Festplatten-Benchmarking-Tool namens . installieren fio vom Paketmanager Ihrer Distribution:

sudo apt-get install fio

Nach, Führen Sie es mit dem folgenden Befehl aus:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=250M -- readwrite=randrw --rwmixread=80

Es erstellt eine Datei von 250 MB und führt zufällige Lese- und Schreibtests mit einem Verhältnis von . durch 80% von Lesungen und 20% von Taten, So erhalten Sie einen viel genaueren Überblick über die tatsächliche Leistung Ihres Laufwerks.

Ein kurzer Test mit einer Datei von 25 MB zeigt die Vorteile des AWS Burst Warehouse-Modells. Das gp2-Volumen kann für eine Weile mit hoher Geschwindigkeit explodieren, um die Übertragung reibungslos abzuwickeln. Bei so einer kleinen Größe, die SSD kann effektiv die Grenze von überschreiten 3000 IOPS, aber nur für eine sekunde.

5000 IOPS lesen, 1300 IOPS schreiben

Ein längerer Test mit einer Datei von 250 MB gibt einen besseren Überblick über die Leistung der SSD bei höherer Last. Unter diesen Umständen, der Test dauert länger als eine Sekunde, die Geschwindigkeit ist also durch die IOPS-Burstrate begrenzt, ankommen 2600 IOPS.

2600 IOPS lesen, 655 IOPS schreiben

Natürlich, wenn wir diesen Test länger als laufen lassen 30 Protokoll, Das gp2-Volumen würde keine Credits mehr haben und sich auf nur noch verlangsamen 24 IOPS für ein Volumen von 8 GB. Aber Sie werden wahrscheinlich keine Lasten finden, die das verwenden 100% seines Albums und, wenn es geht, Sie können jederzeit eine größere Festplatte mit garantierter Leistung verwenden oder IOPS direkt bereitstellen.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.