Direkt zum Inhalt

Wie erkenne ich, ob es sich bei meinem EBS-Volume um Micro-Bursting handelt und stelle sicher, dass die Leistung dadurch nicht beeinträchtigt wird?

Lesedauer: 4 Minute
0

Mein Amazon Elastic Block Store (Amazon EBS)-Volume hat seine Kontingente für den durchschnittlichen Durchsatz oder die durchschnittlichen E/A-Vorgänge pro Sekunde (IOPS) in Amazon CloudWatch nicht erreicht. Das Volume ist jedoch gedrosselt und weist eine hohe Latenz und Warteschlangenlänge auf.

Lösung

Standardmäßig erfassen CloudWatch-Metriken Stichproben in Intervallen von einer Minute. E/A-Vorgänge erfolgen jedoch im Millisekundentakt. Wenn auf dem Volume für eine kürzere Zeit als dem Erfassungsintervall hohe IOPS- oder Durchsatzraten auftreten, erfasst CloudWatch den Burst nicht. Gehe wie folgt vor, um festzustellen, ob es bei dem Volume innerhalb einer Minute zu Leistungseinbrüchen kommt.

CloudWatch-Metriken verwenden, um mögliches Micro-Bursting zu ermitteln

VolumeIopsExceededCheck und VolumeThroughputExceededCheck überprüfen

Die Metriken VolumeIopsExceededCheck und VolumeThroughputExceededCheck zeigen, wann die IOPS oder der Durchsatz die bereitgestellte Leistung des Volumes übersteigt. Die Metriken zeigen die IOPS und den Durchsatz zu einem beliebigen Zeitpunkt innerhalb einer Minute und ergeben ein konsolidiertes Signal mit einer Granularität von einer Minute. Wenn du für diese Metriken den Wert 1 erhältst, handelt es sich bei der Workload um Micro-Bursting.

Überprüfung der VolumeIdleTime-Metrik

Das VolumeIdleTime-Metrikdiagramm zeigt die Anzahl der Sekunden, in denen du innerhalb einer bestimmten Dauer keinen Lese- oder Schreibvorgang gesendet hast. Wenn die VolumeIdleTime hoch ist, war das Volume die meiste Zeit inaktiv. Wenn innerhalb derselben Dauer ausreichend hohe IOPS- oder Durchsatzraten aufgetreten sind, ist es bei dem Volume zu Micro-Bursting gekommen.

Berechnung des durchschnittlichen Durchsatzes und der durchschnittlichen IOPS, die das EBS-Volume empfangen hat

Verwende die folgende Formel, um den durchschnittlichen Durchsatz des EBS-Volumes zu berechnen:

Geschätzter durchschnittlicher Durchsatz = ( Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / Ceil(Period – Sum(VolumeIdleTime))

Verwende die folgende Formel, um die durchschnittlichen IOPS für das EBS-Volume zu berechnen:

Geschätzte durchschnittliche IOPS = ( Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / Ceil(Period – Sum(VolumeIdleTime))

Verwende die CEIL-Funktion, um Randfälle bei der Berechnung zu vermeiden. Die obigen Formeln gelten für Szenarien, in denen die VolumeIdleTime sehr nahe am Zeitraum liegt. Um eine genauere Berechnung zu ermöglichen, stellt CEIL sicher, dass Werte nahe Null das Ergebnis nicht verändern. Weitere Informationen findest du unter Unterstützte Funktionen für metrische Mathematik.

Wenn der durchschnittliche Durchsatz oder IOPS höher als der maximale Durchsatz oder IOPS für das Volume sind, kommt es bei der Workload zu Micro-Bursting-Vorgängen.

Verwende die detaillierten Leistungsstatistiken von Amazon EBS, um mögliche Micro-Bursting zu identifizieren

Rufe detaillierte Leistungsstatistiken für das Volume ab, um einen Überblick in Echtzeit zu erhalten. Diese Statistiken zeigen dir die Anzahl der Mikrosekunden, in denen die Workload versucht hat, höhere IOPS oder einen höheren Durchsatz als das für das Volume bereitgestellte Leistungskontingent zu erzielen. Amazon EBS speichert diese Statistiken nur für die Dauer, für die das Volume an die Amazon Elastic Compute Cloud (Amazon EC2)-Instance angehängt ist. Um sie zur Überprüfung der Grundursache von Micro-Bursting verwenden zu können, muss Amazon EBS die Daten bereits erfasst haben.

Informationen zum Zugriff auf die Statistiken findest du unter Zugreifen auf die Statistiken.

Ein Tool auf Betriebssystemebene verwenden, um mögliches Micro-Bursting zu identifizieren

Bei einem EBS-Volume kann es selbst bei niedriger VolumeIdleTime zu Micro-Bursting kommen. Verwende für Volumes mit niedriger VolumeIdleTime Betriebssystem(OS)-Tools mit detaillierter Erfassung von Beispielen, um effizienter zu ermitteln, ob es bei der Workload zu Micro-Bursting kommt.

Linux

Um E/A-Statistiken für alle gemounteten Volumes mit einer Granularität von einer Sekunde zu erstellen, führe den Befehl iostat aus:

iostat -xdmzt 1

Das Tool iostat ist Teil des sysstat-Pakets. Wenn du den Befehl iostat nicht finden kannst, führe den folgenden Befehl aus, um sysstat auf Amazon Linux Amazon Machine Images (AMIs) zu installieren:

sudo yum install sysstat -y

Weitere Informationen findest du auf der Linux-Handbuchseite unter iostat(1).

Um festzustellen, ob du das Durchsatzkontingent erreicht hast, überprüfe die rMbit/s und wMbit/s in der Ausgabe. Wenn rMbit/s + wMbit/s größer als der maximale Durchsatz für das Volume ist, kommt es beim Volume zu Micro-Bursting.

Um festzustellen, ob du das IOPS-Kontingent erreicht hast, überprüfe rps und wps in der Ausgabe. Wenn rps + wps größer als die maximalen IOPS des Volumes ist, kommt es beim Volume zu Micro-Bursting.

Windows

Führe den Befehl „perfmon“ im Windows Performance Monitor aus.

Änderung der Volume-Größe oder des Volume-Typs, um Anwendungen anzupassen und Micro-Bursting zu verhindern

Micro-Bursting kann zu E/A-Drosselung oder E/A-Latenz in deiner Anwendung führen. Um dieses Problem zu verhindern, ändere das Volume auf einen Typ und eine Größe, die deinen angeforderten IOPS und deinem Durchsatz entsprechen, selbst bei Micro-Bursting-Leveln.

Es gibt einen maximalen IOPS-Wert und Durchsatz, den die Instance auf alle angefügten EBS-Volumes übertragen kann. Weitere Informationen findest du unter Amazon-EBS-optimierte Instance-Typen.

Es hat sich bewährt, die Volumes mit der Workload zu vergleichen, um die Volume-Typen zu ermitteln, die die Workload in einer Testumgebung sicher bewältigen können.