I/O Merkmale und Überwachung von Amazon EBS - Amazon EBS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

I/O Merkmale und Überwachung von Amazon EBS

Bei einer bestimmten Volume-Konfiguration bestimmen bestimmte I/O Merkmale das Leistungsverhalten Ihrer EBS-Volumes.

  • SSD-gestützte Volumes, Allzweck-SSD (gp2undgp3) und Provisioned IOPS SSD (io1undio2), bieten gleichbleibende Leistung, unabhängig davon, ob es sich um einen zufälligen oder sequentiellen I/O Vorgang handelt.

  • Festplattengestützte Volumes, Throughput Optimized HDD (st1) und Cold HDD (sc1), bieten nur dann optimale Leistung, wenn umfangreiche und sequenzielle Operationen durchgeführt werden. I/O

Um zu verstehen, wie SSD- und HDD-Volumes in Ihrer Anwendung funktionieren, ist es wichtig, den Zusammenhang zwischen der Auslastung des Volumes, der Menge der verfügbaren IOPS, der Zeit bis zum Abschluss eines I/O Vorgangs und den Durchsatzgrenzen des Volumes zu kennen.

IOPS

IOPS ist eine Maßeinheit, die input/output Operationen pro Sekunde darstellt. Die Operationen werden in KiB gemessen, und die zugrunde liegende Laufwerkstechnologie bestimmt die maximale Datenmenge, die ein Volumetyp als einzelnes zählt, I/O. I/O size is capped at 256 KiB for SSD volumes and 1,024 KiB for HDD volumes because SSD volumes handle small or random I/O viel effizienter als HDD-Volumes.

Wenn kleine I/O Operationen physisch sequentiell sind, versucht Amazon EBS, sie bis zur maximalen I/O Größe zu einem einzigen I/O Vorgang zusammenzuführen. Ähnlich versucht Amazon EBS, I/O Operationen, die größer als die maximale I/O Größe sind, in kleinere I/O Operationen aufzuteilen. Die folgende Tabelle zeigt einige Beispiele.

Volume-Typ Maximale Größe I/O I/O-Vorgänge aus Ihrer Anwendung Anzahl IOPS Hinweise
SSD 256 KiB 1 x 1024 I/O KiB-Betrieb 4 (1 024÷256=4) Amazon EBS teilt den I/O 1.024-KiB-Vorgang in vier kleinere 256-KiB-Operationen auf.
8 x sequentielle 32 KiB-Operationen I/O 1 (8x32=256) Amazon EBS führt die acht sequentiellen I/O 32-KiB-Operationen zu einem einzigen 256-KiB-Vorgang zusammen.
8 zufällige 32 I/O KiB-Operationen 8 Amazon EBS zählt zufällige I/O Operationen separat.
HDD 1 024 KiB 1 x 1024 I/O KiB-Betrieb 1 Die I/O Operation entspricht bereits der maximalen I/O Größe. Er wird nicht zusammengeführt oder geteilt.
8 x sequentielle 128-KiB-Operationen I/O 1 (8x128=1 024) Amazon EBS führt die acht sequentiellen I/O 128-KB-Operationen zu einem einzigen 1.024-KB-Vorgang zusammen. I/O
8 zufällige 32 I/O KiB-Operationen 8 Amazon EBS zählt zufällige I/O Operationen separat.

Wenn Sie also ein SSD-gestütztes Volume erstellen, das 3.000 IOPS unterstützt (entweder durch die Bereitstellung eines io1 io2 Volumes mit 3.000 IOPS, durch die Dimensionierung eines gp2 Volumes auf 1.000 GiB oder durch die Verwendung eines gp3 Volumes) und es einer EBS-optimierten Instance zuordnen, die ausreichend Bandbreite bereitstellen kann, können Sie bis zu 3.000 Daten pro Sekunde übertragen, wobei der Durchsatz I/Os von der Größe abhängt. I/O

Länge und Latenz der Volume-Warteschlange

Die Länge der Volume-Warteschlange ist die Anzahl der ausstehenden Anfragen für ein Gerät. I/O Die Latenz ist die tatsächliche end-to-end Client-Zeit eines I/O Vorgangs, d. h. die Zeit, die zwischen dem Senden einer Nachricht an EBS und dem Empfang einer I/O Bestätigung von EBS, dass der Lese- oder Schreibvorgang abgeschlossen ist, verstrichen ist. I/O Die Länge der Warteschlange muss korrekt an I/O Größe und Latenz angepasst werden, um Engpässe entweder im Gastbetriebssystem oder in der Netzwerkverbindung zu EBS zu vermeiden.

Die optimale Warteschlangenlänge für jeden Workload variiert und hängt davon ab, wie empfindlich Ihre jeweilige Anwendung auf IOPS und Latenz reagiert. Wenn Ihr Workload nicht genügend I/O Anfragen liefert, um die für Ihr EBS-Volume verfügbare Leistung voll auszuschöpfen, dann liefert Ihr Volume möglicherweise nicht die IOPS oder den Durchsatz, den Sie bereitgestellt haben.

Transaktionsintensive Anwendungen reagieren empfindlich auf erhöhte I/O Latenz und eignen sich daher gut für SSD-gestützte Volumes. Um eine hohe IOPS-Rate bei geringer Latenz sicherzustellen, können Sie eine kurze Warteschlange verwenden und dafür sorgen, dass auf dem Volume eine große Anzahl von IOPS verfügbar ist. Wenn einem Volume ständig mehr IOPS zugewiesen wird, als es verfügbar ist, kann dies zu einer erhöhten Latenz führen. I/O

Durchsatzintensive Anwendungen reagieren weniger empfindlich auf erhöhte I/O Latenz und eignen sich daher gut für HDD-gestützte Volumes. Sie können einen hohen Durchsatz zu HDD-gestützten Volumes beibehalten, indem Sie für große, sequenzielle I/O-Operationen eine lange Warteschlange verwenden.

Einschränkungen in Bezug auf die I/O-Größe und den Volume-Durchsatz

Wenn Ihre I/O Größe bei SSD-gestützten Volumes sehr groß ist, kann es zu einer geringeren Anzahl von IOPS kommen, als Sie bereitgestellt haben, weil Sie die Durchsatzgrenze des Volumes erreichen. Beispiel: Ein gp2 Volume unter 1.000 GiB mit verfügbaren Burst-Credits hat ein IOPS-Limit von 3.000, und ein Volumendurchsatzlimit von 250 MiB/s. If you are using a 256 KiB I/O size, your volume reaches its throughput limit at 1000 IOPS (1000 x 256 KiB = 250 MiB). For smaller I/O sizes (such as 16 KiB), this same volume can sustain 3,000 IOPS because the throughput is well below 250 MiB/s. (These examples assume that your volume's I/O erreicht nicht die Durchsatzgrenzen der Instance.) Weitere Informationen zu den Durchsatzlimits für jeden EBS-Volume-Typ finden Sie unter Amazon EBS-Volume-Typen.

Bei kleineren I/O Vorgängen wird Ihnen möglicherweise ein higher-than-provisioned IOPS-Wert angezeigt, der innerhalb Ihrer Instance gemessen wird. Dies geschieht, wenn das Instance-Betriebssystem kleine I/O-Operationen in einer größeren Operation zusammenführt, bevor sie an Amazon EBS gesendet werden.

Wenn Ihr Workload sequenziell I/Os auf Festplatten st1 und sc1 Volumes arbeitet, kann es sein, dass die Anzahl der IOPS, gemessen in Ihrer Instance, höher als erwartet ist. Dies passiert, wenn das Instance-Betriebssystem sequentiell zusammenführt I/Os und sie in Einheiten mit einer Größe von 1.024 KiB zählt. Wenn Ihr Workload einen kleinen oder zufälligen I/Os, you may experience a lower throughput than you expect. This is because we count each random, non-sequential I/O Anteil an der gesamten IOPS-Anzahl verwendet, kann dies dazu führen, dass Sie das IOPS-Limit des Volumes früher als erwartet erreichen.

Unabhängig vom Typ Ihres EBS-Volumes sollten Sie sicherstellen, dass Ihre EC2 Instance-Bandbreite nicht der limitierende Faktor ist, wenn Sie nicht den erwarteten IOPS- oder Durchsatz in Ihrer Konfiguration erreichen. Für eine optimale Leistung sollten Sie immer eine EBS-optimierte Instance der aktuellen Generation (oder eine mit 10 Gb/s Netzwerkkonnektivität) verwenden. Eine weitere mögliche Ursache dafür, dass die erwarteten IOPS nicht erreicht werden, ist, dass Sie die EBS-Volumes nicht ausreichend I/O ansteuern.

Überwachen Sie die Eigenschaften I/O mit CloudWatch

Sie können diese I/O Merkmale anhand der Volumenmetriken jedes CloudWatch Volumes überwachen.

Überwachen Sie, ob I/O ins Stocken geraten

VolumeStalledIOCheck überwacht den Status Ihrer EBS-Volumes, um festzustellen, wenn Ihre Volumes beeinträchtigt sind. Bei der Metrik handelt es sich um einen binären Wert, der je nachdem, ob das EBS-Volume Operationen abschließen I/O kann, den Status 0 1 (bestanden) oder (nicht bestanden) zurückgibt.

Wenn die VolumeStalledIOCheck Metrik fehlschlägt, können Sie entweder warten, AWS bis das Problem behoben ist, oder Sie können Maßnahmen ergreifen, z. B. das betroffene Volume austauschen oder die Instance, an die das Volume angehängt ist, beenden und neu starten. In den meisten Fällen, wenn diese Metrik fehlschlägt, diagnostiziert EBS Ihr Volume automatisch und stellt es innerhalb weniger Minuten wieder her. Sie können die Aktion „I/O anhalten“ verwenden AWS Fault Injection Service , um kontrollierte Experimente durchzuführen, um Ihre Architektur und Überwachung auf der Grundlage dieser Metrik zu testen und so Ihre Widerstandsfähigkeit gegenüber Speicherfehlern zu verbessern.

Überwachen Sie die I/O Latenz für ein Volume

Sie können die durchschnittliche Latenz für Lese- und Schreibvorgänge für ein Amazon EBS-Volume anhand der jeweiligen VolumeAvgWriteLatency Metriken VolumeAvgReadLatency und überwachen.

Wenn Ihre I/O Latenz höher als erforderlich ist, stellen Sie sicher, dass Ihre Anwendung nicht versucht, mehr IOPS oder Durchsatz zu erzielen, als Sie für Ihr Volume bereitgestellt haben. Verwenden Sie die folgenden Formeln, um die durchschnittlichen IOPS und den Durchsatz zu berechnen, die Ihrem Volume über einen bestimmten Zeitraum zugewiesen wurden, und vergleichen Sie diese Werte dann mit den bereitgestellten IOPS und dem Durchsatz des Volumes.

Sum(VolumeReadOps) + Sum(VolumeWriteOps) Estimated average IOPS in ops/s = ---------------------------------------- Period - Sum(VolumeIdleTime)
(Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / 1024 Estimated average throughput in KiB/s = ----------------------------------------------------- Period - Sum(VolumeIdleTime)

Sie können auch anhand der VolumeThroughputExceededCheck Metriken VolumeIOPSExceededCheck und feststellen, ob Ihr Workload durchweg versucht hat, IOPS oder einen Durchsatz zu steigern, der die von Ihrem Volume bereitgestellte Leistung in einer bestimmten Minute übersteigt. Wenn die gesteuerten IOPS die von Ihrem Volume bereitgestellte IOPS-Leistung durchweg überschreiten, kehrt die Metrik zurück. VolumeIOPSExceededCheck 1 Wenn der getriebene Durchsatz durchweg die von Ihrem Volume bereitgestellte Durchsatzleistung übersteigt, gibt die Metrik einen Wert zurück. VolumeThroughputExceededCheck 1 Wenn die angetriebenen IOPS und der Durchsatz innerhalb der bereitgestellten Leistung Ihres Volumes liegen, werden die Messwerte zurückgegeben. 0

Wenn Ihre Anwendung eine größere Anzahl von IOPS benötigt, als Ihr Volume bereitstellen kann, sollten Sie eine der folgenden Optionen erwägen:

  • Ein gp3-, io2- oder io1-Volume, das mit genügend IOPS bereitgestellt wird, um die erforderliche Latenz zu erreichen

  • Ein größeres gp2-Volume, das eine ausreichende IOPS-Grundleistung bietet

HDD-gestützt st1 und sc1 Volumes sind so konzipiert, dass sie bei Workloads, die die maximale Größe von 1.024 KiB nutzen, die beste Leistung erbringen. I/O Um die durchschnittliche I/O Größe Ihres Volumes zu ermitteln, dividieren Sie durch. VolumeWriteBytes VolumeWriteOps Dieselbe Berechnung gilt für Leseoperationen. Wenn die durchschnittliche I/O Größe unter 64 KiB liegt, sollte eine Erhöhung der Größe der an ein st1 sc1 OR-Volume gesendeten I/O Operationen die Leistung verbessern.

Überwachen Sie das gp2 Burst-Bucket-Balancing fürst1, und sc1 Volumes

BurstBalance zeigt die Burst Bucket-Menge für die Volumes gp2, st1 und sc1 als Prozentsatz der Restmenge an. Wenn Ihr Burst-Bucket aufgebraucht ist, wird das Volumen I/O (für gp2 Volumes) oder der Volumendurchsatz (für st1 und sc1 Volumes) auf den Ausgangswert gedrosselt. Prüfen Sie den BurstBalance-Wert, um festzustellen, ob Ihr Volume aus diesem Grund gedrosselt wird. Eine vollständige Liste der verfügbaren Amazon EBS-Metriken finden Sie unter CloudWatch Amazon-Metriken für Amazon EBS und Amazon EBS-Metriken für Nitro-basierte Instances.

Überwachen Sie Leistungsstatistiken in Echtzeit I/O

Sie können in Echtzeit auf detaillierte Leistungsstatistiken für Amazon EBS-Volumes zugreifen, die an Nitro-basierte EC2 Amazon-Instances angehängt sind.

Sie können diese Statistiken kombinieren, um die durchschnittliche Latenz und die IOPS abzuleiten oder um zu überprüfen, ob I/O Vorgänge abgeschlossen werden. Sie können auch die Gesamtzeit anzeigen, in der Ihre Anwendung die bereitgestellten IOPS- oder Durchsatzgrenzwerte Ihres EBS-Volumes oder der angehängten Instance überschritten hat. Indem Sie den Anstieg dieser Statistiken im Laufe der Zeit verfolgen, können Sie feststellen, ob Sie die bereitgestellten IOPS oder die Durchsatzgrenzen erhöhen müssen, um die Leistung Ihrer Anwendung zu optimieren. Die detaillierten Leistungsstatistiken enthalten auch Histogramme für Lese- und I/O Schreibvorgänge, die eine Verteilung Ihrer I/O Latenz ermöglichen, indem sie die Gesamtzahl der innerhalb eines Latenzbandes abgeschlossenen I/O Operationen verfolgen.

Weitere Informationen finden Sie unter Detaillierte Leistungsstatistiken von Amazon EBS.

Zugehörige Ressourcen

Weitere Informationen zu den I/O Merkmalen von Amazon EBS finden Sie in der folgenden re:Invent-Präsentation: Amazon EBS: Designing for Performance.