Wie Schnell Sind Ihre AWS EBS-Volumes?

0
167

Festplatte Geschwindigkeit ist ein wichtiger Teil der Messung eine server-Leistung haben. AWS hat viele verschiedene Arten von EBS-volumes, und es verwendet eine burst-bucket-Modell—ähnlich den T2 Instanzen, um zu bestimmen, Ihre Festplatte ist die Geschwindigkeit insgesamt.

Die meisten server-workloads wahrscheinlich irgendeine Art von Speicher-caching, so dass, wenn Sie über ausreichend RAM, deine Festplatte möglicherweise ist die Geschwindigkeit keine Rolle, dass viel, wenn eine Datei gelesen wird, kann es bleiben im Speicher für eine Weile. Aber für schreib-starker Auslastung, Festplatten-Drehzahl beginnt sich der begrenzende Faktor ist, und kann Pause machen oder Ihre server-performance.

IOPS-und SSD-Performance Erklärt

AWS-Listen und-Maßnahmen SSD-Geschwindigkeit mit Hilfe der Input-Output-Operationen Pro Sekunde (IOPS). Dies ist im wesentlichen nur ein Maß für das Gerät ist eine 4K Zufällige lese-und Schreibgeschwindigkeit.

SSDs führen unterschiedlich unter den verschiedenen Arbeitslasten, so gibt es ein paar Möglichkeiten, um zu Messen, wie schnell Sie sind. Die erste ist die Sequenzielle Lese-und Schreibgeschwindigkeit, die misst, wie schnell Sie beim Lesen einer großen Datei von der Festplatte. Geschwindigkeit spielt eine Rolle, vor allem beim arbeiten mit großen Daten, aber das ist das ideale Szenario, und in der realen Welt-SSDs in der Regel ziehen müssen Daten von mehreren Standorten auf einmal.

RELATED: Wie Testen Sie Ihre Linux-Server, Disk-und RAM-Geschwindigkeit

Eine bessere Metrik ist random performance. Dieser benchmark liest und schreibt Dateien in den von 4.096-byte-große Stücke auf zufälligen Positionen, daher der name “4K Random”. Es genauer imitiert die Reale Welt laden die SSD kann Gesicht.

Random benchmarks kann variieren, abhängig von der queue-Tiefe—ein Maß dafür, wie viel die SSD derzeit zu verarbeiten hat. Wenn die SSD abgefragt wird für eine Reihe von Dateien, die queue-Tiefe hoch, das beschleunigt die Leistung. Aber die baseline-Leistung ist gemessen bei queue-Tiefe 1, das scheint das zu sein, was AWS-Maßnahmen Ihrer SSDs an.

IOPS sind ein Maß dafür, wie viele tatsächliche Operationen stattfinden. Die Formel für das finden der IOPS, MB/s:

IOPS = (MB / KB Pro Betrieb) * 1024

Und weil wir Lesen von 4-KB in einer Zeit, die Formel wird:

IOPS = MBit / s * 256

Die desktop-SSD in der Abbildung oben, wäre über 13.000 IOPS, die ist ziemlich gut für eine 2 TB NVME SSD.

Die Burst-Bucket-Modell

Die Hauptsache ist, dass macht die AWS EBS-volumes kompliziert ist die burst-Leistung. Dies funktioniert sehr ähnlich wie T2/T3-Instanzen arbeiten—wenn die Festplatte inaktiv, es sammelt sich IO-credits auf einer rate, bestimmt durch die Größe des Volumes.

Diese Kredite gehen in einen “Eimer”, die sammelt Sie bis zu einem maximum von 5,4 Millionen, genug, um zu platzen, um die volle Leistung für 30 Minuten. Der Eimer startet voll zur schnellen bootstrapping von Anwendungen und starten der Instanzen.

Credits aufgebraucht sind, die aus dem Eimer zu verwenden, bis die Leistung. gp2 hat eine maximale Leistung von 3.000 IOPS, Sie sind also nur in der Lage, um drain-3.000 pro Sekunde.

Volumina verdienen IO-credits auf einer rate von 3 pro GB pro Sekunde. Was bedeutet, dass, wenn Sie ein Volumen größer als 1 TB sind, Ihre Eimer immer voll, und Sie müssen nicht sorgen zu machen über die burst-Leistung. Alles, was niedriger als das, und Sie beschränkt sich auf die baseline-Leistung basiert auf, wie viele credits Sie verdienen.

Wenn Sie brauchen mehr nachhaltige Leistung, können Sie mieten ein größeres Volumen, oder verwenden Sie eine Bereitgestellte IOPS-Volumes (io1). Während diese sind teurer pro GB, können Sie kaufen IOPS direkt. Können Sie überall kaufen 100 zu 64.000 IOPS, bei einer rate von $0.065 pro provisioned IOPS. Dies ist nur wirklich kosteneffizient, wenn Sie wollen, mehr als 3.000 IOPS. Für etwas unter, dass, Sie werden effektiv werden, zahlen den doppelten Preis für die Lautstärke. Zum Beispiel, wenn Sie benötigt ein 3.000 IOPS 64 GB Volumen, könnten Sie einfach Bereitstellung einer 1 TB gp2-Volumen zum halben Preis. Aber, wenn Sie wollen, dass die zusätzliche Geschwindigkeit, die Sie dafür bezahlen können.

Festplatte (st1 und sc1) Leistung

AWS-Festplatte-basierte EBS-volumes nutzen Sie auch einen burst-bucket-Modell, aber die Festplatten arbeiten ein bisschen anders als SSDs, so ist es nicht, gemessen in IOPS. Da eine Festplatte verwendet eine rotierende Platte Kopf, die lese-und Schreibgeschwindigkeiten behoben werden. Tut random liest und schreibt, wird diese langsam nach unten deutlich (einer der wichtigsten Nachteile der Festplatten). AWS verwendet die sequenzielle lese-Geschwindigkeit hier.

Für st1, die base Geschwindigkeit wächst um 40 MiB/s pro TB, ab 20 für den minimum-volume-Größe von 500 GB.

Die Burst-Geschwindigkeit steigt um 250 MiB/s pro TB bis zu einem maximum von 500 MiB/s. Für volumes, die größer als 12 TB, sind Sie in der Lage zu platzen, um maximale Geschwindigkeit 100% der Zeit. Etwas weniger, und Sie sind begrenzt durch Ihre burst-Guthaben.

Für sc1, die base Geschwindigkeit wächst um 12 MiB/s pro TB, ab 6 für den minimum-volume-Größe von 500 GB. Es macht es viel langsamer, und es wird nie 100% erreichen burst-Kapazität (aber es ist billiger).

Burst speed ist auch begrenzt, und wächst von 80 MiB/s pro TB bis zu einem maximum von 250 MiB/s. Dies entspricht etwa 8.000 IOPS, aber auch dies ist wahrscheinlich die sequentielle Geschwindigkeit, und Sie werden nicht sehen, zufällige Geschwindigkeiten dieser hohe, aus jeder Festplatte.

Wie Finden Sie Ihre Realen Festplatten-Geschwindigkeit

Man könnte ein tool wie dd zu Messen sequenzielle Schreibgeschwindigkeit, dies bedeutet jedoch nicht, betonen die Festplatte fast genug, um nützlich zu sein, und ist nicht Indikativ für jede real-use-case.

Etwas besseres zu bekommen, müssen Sie installieren ein disk-benchmarking-tool namens fio von Ihrer Distribution Paket-manager:

sudo apt-get install fio

Dann, führen Sie es mit dem folgenden Befehl:

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 wird eine 250 MB-Datei, und führen zufällige Lesen und schreiben von tests bei einem Verhältnis von 80% liest, 20% schreibt, so dass Sie einen viel genaueren Blick auf, wie Sie Ihre Festplatte wirklich führt.

Ein schneller test mit einer 25-MB-Datei zeigt den nutzen von AWS-burst-bucket-Modell. Die gp2-Volumen ist in der Lage, burst, um schnell für ein wenig zu behandeln die übertragung reibungslos. Mit solch einer kleinen Größe, die SSD ist in der Lage, effektiv zu platzen vorbei an den mit 3.000 IOPS-Grenze, aber nur für eine Sekunde.

Einen längeren test mit einer 250 MB Datei gibt Ihnen einen besseren Blick auf, wie die SSD Performance unter größeren Belastungen. In diesem Fall dauert der test länger als eine Sekunde, so dass die Geschwindigkeit ist begrenzt durch die burst-IOPS Geschwindigkeit, kommt bei 2.600 IOPS.

Natürlich, wenn wir es zu lassen, dieser test für mehr als 30 Minuten, die gp2-Volumen würde die credits ausgehen, und langsam nach unten auf nur noch 24 IOPS für ein 8-GB-Datenträger. Aber du bist wahrscheinlich nicht gehen, um Begegnung Lasten, die mit 100% Ihrer Festplatte, und wenn Sie das tun, können Sie jederzeit eine größere Festplatte mit garantierter Leistung oder Bestimmung IOPS direkt.