Ab wann ist die EBS-Nutzung der Engpass?

10

Ich habe eine Website auf Amazon gehostet, die eine EC2-Instanz verwendet, die von einem EBS-Volume unterstützt wird. An den Wochenenden nimmt der Datenverkehr zu und ich vergrößere die Instanz, was sehr hilfreich ist. Ich sehe keine CPU-Auslastung mehr von 100% und der Server reagiert nicht mehr.

Ich stelle jedoch fest, dass die Festplattenlesevorgänge ebenfalls sehr hoch sind (kann nicht geholfen werden, glaube ich nicht), und ich frage mich, an welchem ​​Punkt ich einen Fehler sehen werde, weil die Festplatte nicht mehr halten kann oben?

Wie Sie dem beigefügten Screenshot entnehmen können, lag die maximale Geschwindigkeit am Wochenende bei 80 MB / Minute. Hat jemand Erfahrung mit AWS und weiß, wann ich zu Instanzen mit mehreren Lastenausgleich wechseln muss, da EBS zum Engpass wird?

EBS-Nutzungsdiagramm

ESW
quelle
2
Ich denke, wir brauchen hier einige Details zur Anwendungsebene. Was ist die Aktivität zum Lesen der Festplatte? Direktzugriff 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 einzelne Instanz angeschlossen sind, und Software RAID-0 ausführen, um Verbesserungen vorzunehmen.
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 Verkehr trival ist - und habe keine Ahnung, wie ich es herausfinden soll.
ESW
Ich habe gerade eine Antwort mit RAID und EBS geschrieben, als ich Ihren Kommentar gelesen habe, malayter. 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 weisen alle AWS-Speichertypen eine nicht offensichtliche Leistung auf, und obwohl es den Anschein hat, dass RAID10 die Leistung verbessern könnte, ist es wirklich besser, ein Benchmarking mit den Zugriffsmustern und der Last durchzuführen, die Ihre reale Anwendung wahrscheinlich erfährt . Selbst dann ist es wahrscheinlich, dass Ihre Leistung in der AWS-Umgebung zuweilen stark variiert, verglichen mit einer selbst gehosteten Lösung, bei der Sie mehr Kontrolle und damit mehr Vorhersagbarkeit über die Speicherleistung haben. Im Allgemeinen hat es wahrscheinlich positive Auswirkungen, wenn mehr als ein Volume in einer RAID-Konfiguration vorhanden ist.
Aculich

Antworten:

5

Das erste , was im Auge zu behalten , die den größten Einfluss auf Ihrer I / O - Leistung haben wird , ist der Instanztyp , dass Sie verwenden.

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)

In Bezug auf EBS-Volumes und die Leistung, die Sie erhalten, müssen Sie, wie in den häufig gestellten Fragen zu AWS vorgeschlagen , Ihre Anwendung einem Benchmarking unterziehen, um zu sehen, was Sie erwartet:

F: Welche Latenz und Durchsatzraten kann ich von Amazon EBS-Volumes erwarten? Die Latenz von einer Amazon EC2-Instanz zu einem Amazon EBS-Volume ähnelt der Latenz, die Sie vom lokalen Amazon EC2-Instanzspeicherlaufwerk sehen würden. Die E / A-Raten können je nach Größe der Anforderungen, Zufälligkeit der Zugriffsmuster und der von der Anwendung verwendeten Caching-Strategie erheblich variieren. Daher ist es am genauesten, Ihre spezifische Anwendung auf einem Amazon EBS-Volume zu vergleichen.

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

Weitere Informationen finden Sie auf der AWS EBS-Seite :

Amazon EBS Volume Performance

Amazon EBS-Volumes bieten einen höheren Durchsatz als Amazon EC2-Instanzspeicher für Anwendungen, die viele zufällige Zugriffe auf Ihren Datensatz ausführen. Sie können einer Instanz auch mehrere Volumes hinzufügen und über die Volumes streifen, um den Durchsatz weiter zu steigern.

Die genaue Leistung hängt von der Anwendung ab (z. B. zufällige oder sequentielle E / A oder große oder kleine Anforderungsgrößen). Daher ist es am besten, Ihre realen Anwendungen mit dem Volumen zu vergleichen. Da Amazon EBS-Volumes einen Netzwerkzugriff erfordern, sehen Sie bei größeren Instanzen eine schnellere und konsistentere Durchsatzleistung.

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 erhalten Sie.

Je nachdem, was Sie bereitstellen, kann das In-Memory-Caching von Objekten erheblich hilfreich sein, wenn dies für Ihren Anwendungstyp möglich ist.

Außerdem finden Sie hier einige Blog-Beiträge, die die Leistung von EBS und lokalen (kurzlebigen) Volumes in verschiedenen RAID-Konfigurationen und Optimierungen für eine gute E / A-Leistung vergleichen:

EC2 Ephemeral Disks vs EBS-Volumes in RAID

Amazon EC2-E / A-Leistung: Lokale kurzlebige Festplatten im Vergleich zu gestreiften RAID 0-EBS-Volumes

Gute E / A von Amazon EBS erhalten

aculich
quelle
2
Diese Seite scheint auch gute Informationen zu haben: ec2instances.info
Gianfranco P.