Frage Wann nutzt EBS den Engpass?


Ich habe eine Website auf Amazon gehostet, die eine EC2-Instanz verwendet, die von einem EBS-Volume unterstützt wird. An den Wochenenden, Verkehrsspitzen und ich machen die Instanz größer, was ziemlich hilft - ich sehe nicht mehr, dass die CPU-Auslastung zu 100% steigt und der Server nicht mehr reagiert.

Ich stelle jedoch fest, dass die Plattenlesevorgänge ebenfalls sehr hoch sind (kann nicht geholfen werden, denke ich nicht) und ich frage mich, an welchem ​​Punkt ich eine Art von Fehler sehen werde, weil die Platte nicht halten kann oben?

Wie Sie aus dem beigefügten Screenshot sehen können, hat es sich am Wochenende auf 80MB / Minute ausgedehnt. Hat jemand Erfahrung mit AWS und weiß, an welcher Stelle ich zu mehreren ausgeglichenen Instanzen wechseln muss, weil EBS zum Engpass wird?

EBS Usage Graph


10
2017-10-03 14:47


Ursprung


Ich denke, wir brauchen hier einige Details zur Anwendungsebene. Was ist die Disk-Leseaktivität? Random-Access für Bilder / Assets? Große sequentielle Lesevorgänge (z. B. Datenbanksicherungen oder Analysen) Beachten Sie, dass Sie mehrere EBS-Volumes ausführen können, die an eine einzige Instanz angeschlossen sind, die Software-RAID-0 ausführt, um Dinge zu verbessern. - rmalayter
Die meisten dieser Lesevorgänge sind kleinere Dateien (weniger als 1 MB, viele weniger als 500 KB), aber keine "winzigen" Dateien. Ich habe keine Ahnung, ob dies eine Last für ein EBS-Volume ist oder ob diese Menge an Traffic trivial ist - und keine Ahnung, wie ich es herausfinden soll. - ESW
Ich habe gerade eine Antwort mit RAID und EBS geschrieben, als ich deinen Kommentar, malayter, gelesen habe. Ich würde hinzufügen, dass RAID10 eine flexiblere Lösung sein könnte, da es Lese- und Schreibvorgänge verbessern sollte. - tsykoduk
@tsykoduk Im Allgemeinen haben alle AWS-Speichertypen etwas nicht offensichtliche Leistung und obwohl es scheint, dass RAID10 die Leistung verbessern könnte, ist es wirklich besser, ein Benchmarking mit der Art von Zugriffsmustern und -last durchzuführen, die Ihre reale Anwendung wahrscheinlich erlebt . Selbst dann wird sich Ihre Leistung in der AWS-Umgebung zuweilen stark verändern, verglichen mit einer selbst gehosteten Lösung, bei der Sie mehr Kontrolle über die Speicherleistung haben - und somit eine bessere Vorhersagbarkeit. Im Allgemeinen haben mehr als ein Volume in einer RAID-Konfiguration wahrscheinlich eine positive Auswirkung. - aculich


Antworten:


Das erste, was Sie beachten sollten, ist die Instanztyp das du benutzt.

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)

Wie für EBS-Volumes und die Leistung, die Sie erhalten, wie die AWS-FAQ schlägt vor, dass Sie Ihre Anwendung vergleichen müssen, um zu sehen, was zu erwarten ist:

F: Welche Art von Latenz und Durchsatzraten kann ich erwarten?   Amazon EBS-Datenträger? Die Latenz von einer Amazon EC2-Instanz zu einem   Amazon EBS Volume ähnelt der Latenz, die Sie von der   lokales Amazon EC2-Instance-Speicherlaufwerk. I / O-Raten können variieren   signifikant basierend auf der Größe der Anfragen, die Zufälligkeit der   Zugriffsmuster und die Caching-Strategie, die von der Anwendung verwendet wird. Wie   so ist die genaueste Maßnahme, um Ihre spezifischen Benchmarks   Anwendung auf einem Amazon EBS-Volume.

Was das bedeutet ist, dass die EBS-Raten, die Sie erhalten, nicht unbedingt schlechter oder besser als der lokale Instanzenspeicher sind; Es hängt wirklich von Ihrem Datenzugriffsverhalten ab.

Weitere Informationen finden Sie auf der AWS EBS-Seite:

Amazon EBS Volume-Leistung

Amazon EBS-Volumes bieten einen höheren Durchsatz als Amazon   EC2-Instance speichert für Anwendungen, die eine große Anzahl von Zufallsoperationen ausführen   Zugriff auf Ihre Datenmenge Sie können auch mehrere Volumes anhängen   eine Instanz und ein Streifen über die Volumen, um weitere Erhöhungen zu erzielen   im Durchsatz.

Die genaue Leistung hängt von der Anwendung ab (z. B. Random vs.   sequentielle I / O oder große vs kleine Anfragegrößen), also das beste Maß   ist es, Ihre realen Anwendungen gegen das Volumen zu messen. weil   Amazon EBS-Volumes erfordern Netzwerkzugriff, Sie werden schneller und sehen   konsistentere Durchsatzleistung bei größeren Instanzen.

Beachten Sie auch, dass die E / A-Leistung nicht nur die Festplatten-E / A, sondern auch den Netzwerkverkehr umfasst. Je mehr Netzwerkverkehr Ihre Instanz erhält, desto weniger Festplatten-E / A werden Sie erhalten.

Abhängig davon, was Sie bereitstellen, kann das speicherinterne Zwischenspeichern von Objekten erheblich dazu beitragen, dass dies für Ihren Anwendungstyp möglich ist.

Im Folgenden finden Sie einige Blogposts, in denen die Leistung von EBS und lokalen (ephemeren) Volumes in verschiedenen RAID-Konfigurationen und Optimierungen für eine gute IO-Leistung verglichen werden:

EC2 Ephemeral Disks vs EBS Volumes in RAID

Amazon EC2-E / A-Leistung: Lokale flüchtige Datenträger im Vergleich zu RAID 0-Stripeset-EBS-Volumes

Gute IO von Amazon EBS bekommen


5
2018-02-16 08:39



Diese Seite scheint auch gute Informationen zu haben: ec2instances.info - Gianfranco P.