Warum erreicht mein SC1- oder ST1-EBS-Volume nicht die angegebene Durchsatzleistung?

Lesedauer: 3 Minute
0

Mein ST1- oder SC1-Volume des Amazon Elastic Block Store (Amazon EBS) erreicht nicht die in der AWS-Dokumentation angegebene Durchsatzleistung.

Kurzbeschreibung

Wenn Sie Amazon EBS-HDD-Volumes wie SC1 und ST1 verwenden, überprüfen Sie die folgenden Punkte:

  • Diese Volumes verwenden immer ein 1024-KiB-E/A-Token, unabhängig von der tatsächlichen E/A-Größe, die vom Workload auf der Instance verwendet wird. Selbst wenn die tatsächliche E/A-Größe des Anwendungs-Workloads auf 16 KiB festgelegt ist, verwendet das Volume immer noch die gesamte 1024-KiB-Größe des E/A-Tokens. Hierdurch wird ein Großteil des Platzes auf dem Token verschwendet. Füllen Sie die gesamten 1024KiB, um die Effizienz zu maximieren.
  • Wenn die E/A-Größe eines sequenziellen Workloads größer als 32 KiB ist, fasst Amazon EBS die E/As immer zu einem einzigen E/A-Vorgang von 1024 KiB zusammen. Diese Zusammenführung füllt die gesamte Tokengröße aus.
  • Wenn die E/A-Größe kleiner als 32 KiB oder der Workload zufällig ist, führt Amazon EBS die E/As nicht zu 1024 KiB zusammen. Amazon EBS verwendet jedoch weiterhin die gesamte Tokengröße von 1024 KiB. Hierdurch bleibt der größte Teil des Platzes innerhalb des Tokens leer. Da die E/As nicht zusammengeführt werden, verbraucht die Instance mehr IOPS, um die gleiche Datenmenge an das Volume zu senden. Dadurch wird der Burst-Balance reduziert, obwohl der Durchsatz unter seinem Ausgangswert liegt.

Behebung

Gehen Sie wie folgt vor, damit Ihre EBS-Volumes ST1 und SC1 ihren maximalen Nenndurchsatz erreichen können:

  • Richten Sie Ihre Anwendung so ein, dass sie eine E/A-Größe von mehr als 32 KiB verwendet.
  • Überprüfen Sie, ob Ihre Anwendung sequentielle Workloads verwendet.

Beispiel

Verwenden Sie bei der Berechnung des Durchsatzes die folgende Formel:

Throughput = I/Osize * IOPS

Wenn die E/A-Größe kleiner als 32 KiB ist, stößt das Volume an seine IOPS-Grenze und drosselt den Durchsatz. In diesem Fall erreicht der Datenträger nie seine Nenndurchsatzleistung.

Nehmen wir zum Beispiel an, Sie setzen die I/O-Größe auf 16 KiB und senden 3 MiB/s an Daten:

3MiB/s/16KiB = 192 IOPS

Wenn Sie die I/O-Größe bei einer sequentiellen/zusammenhängenden Arbeitslast auf 32 KiB festlegen, führt Amazon EBS bis zu 1024 KiB zusammen. Amazon sendet in diesem Fall nur 3 IOPS, wie aus der folgenden Berechnung hervorgeht:

3 MiB/s/1024 KiB = 3 IOPS

Nehmen wir jedoch an, Sie verwenden 0,5 TiB (500 GiB) eines ST1-Volumes. Dieses Volume bietet idealerweise eine Basisdurchsatzleistung von 20 MiB/s und kann bis zu 125 MiB/s erreichen.

Wenn das Volume mit 125 MiB/s ausgelastet ist und die E/A-Größe der Anwendung 1024 KiB beträgt, entspricht die maximale theoretische IOPS 125 IOPS.

Durchsatz//IO-Größe = 125 MiB/s/1024 KiB = 125 IOPS.

Wenn die Anwendung jedoch eine E/A-Größe von 16 KiB verwendet, werden beim Senden von 3 MiB Daten 192 IOPS benötigt. Die Anwendung kann keine 125 IOPS erreichen, da das Volume nur ein theoretisches Maximum von 192 IOPS erreicht. In diesem Fall drosselt das Volume die IOPS auf 125:

Tatsächlicher Durchsatz = 16 KiB * 125 = 1,95 MIB/s

Wie in den vorangegangenen Berechnungen gezeigt, wird die IOPS auf 125 IOPS gedrosselt, sodass Amazon EBS den Durchsatz auf 1,95 MiB/s drosselt. Diese Drosselung erfolgt, obwohl der theoretische Burst-Durchsatz für das Volume 125 IOPS beträgt, da die Anwendung eine E/A-Größe von 1024 KiB verwendet.

Verwandte Informationen

E/A-Eigenschaften und Überwachung

Amazon-EBS-Volume-Typen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 6 Monaten