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.
Leistung des Amazon EBS-Volumes
Mehrere Faktoren, einschließlich I/O-Merkmalen und der Konfiguration von Instances und Volumes, können sich auf die Leistung von Amazon EBS auswirken. Wenn Sie die Anweisungen auf unseren Amazon EBS- und EC2 Amazon-Produktdetailseiten befolgen, erzielen Sie in der Regel eine gute Leistung. Es gibt jedoch einige Fälle, in denen Sie möglicherweise einige Anpassungen vornehmen müssen, um eine Spitzenleistung zu erzielen. Wir empfehlen Ihnen, die Leistung anhand von Informationen aus Ihrer tatsächlichen Workload zu optimieren und mithilfe von Benchmark-Tests die optimale Konfiguration zu finden. Nachdem Sie sich mit den Grundlagen zum Verwenden von EBS-Volumes vertraut gemacht haben, sollten Sie die erforderliche I/O-Leistung ermitteln. Prüfen Sie dann, wie Sie die Amazon EBS-Leistung erhöhen können, um diese Anforderungen zu erfüllen.
AWS Aktualisierungen der Leistung von EBS-Volumetypen werden möglicherweise nicht sofort auf Ihre vorhandenen Volumes wirksam. Zum Anzeigen der vollen Leistung eines älteren Volumes müssen Sie zunächst eine ModifyVolume
-Aktion darauf ausführen. Weitere Informationen finden Sie unter Ändern Sie ein Amazon EBS-Volume mithilfe von Elastic Volumes-Vorgängen.
Inhalt
Tipps zur Amazon EBS-Leistung
Diese Tipps stellen die bewährten Methoden dar, um in einer Vielzahl von Benutzerszenarien die optimale Leistung für EBS-Volumes zu erzielen.
Verwenden von EBS-optimierten Instances
Auf Instances, die den EBS-optimierten Durchsatz nicht unterstützen, kann der Netzwerkverkehr mit dem Datenverkehr zwischen Ihrer Instance und Ihren EBS-Volumes konkurrieren. Auf EBS-optimierten Instances werden die beiden Datenverkehrsarten voneinander getrennt. Für einige EBS-optimierte Instance-Konfigurationen können zusätzliche Kosten anfallen (beispielsweise C3, R3 und M3), während andere ohne Aufpreis EBS-optimiert sind (beispielsweise M4, C4, C5 und D2). Weitere Informationen finden Sie unter Amazon-EBS-Optimierung.
Konfigurieren Sie die Instance-Bandbreite
Für unterstützte Instance-Typen können Sie die Gewichtung der Instance-Bandbreite so konfigurieren, dass die Amazon EBS-Bandbreite mithilfe der Bandbreitengewichtung um 25 Prozent erhöht wird. ebs-1
Mit dieser Funktion können Sie die Netzwerkressourcenzuweisung Ihrer Instance zwischen EBS- und VPC-Netzwerken optimieren und so möglicherweise die EBS-Leistung für I/O-intensive Workloads verbessern. Weitere Informationen finden Sie unter Konfigurierbare Gewichtung der Instance-Bandbreite.
Informationen zum Berechnen der Leistung
Wenn Sie die Leistung Ihrer EBS-Volumes messen, sollten Sie die verwendeten Maßeinheiten kennen und wissen, wie die Leistung berechnet wird. Weitere Informationen finden Sie unter Amazon EBS I/O-Merkmale und Überwachung.
Informationen zum Workload
Es gibt einen Zusammenhang zwischen der maximalen Leistung der EBS-Volumes, der Größe und Anzahl von I/O-Operationen und der Zeit, die zum Abschließen der einzelnen Aktionen notwendig ist. Jeder dieser Faktoren (Leistung, I/O und Latenz) wirkt sich auf die anderen aus und die verschiedenen Anwendungen reagieren unterschiedlich empfindlich auf die einzelnen Faktoren. Weitere Informationen finden Sie unter Amazon EBS-Volumen vergleichen.
Berücksichtigen der Leistungseinbußen, die beim Initialisieren von Volumes aus Snapshots auftreten
Die Latenz steigt erheblich an, wenn Sie zuerst auf jeden Datenblock in einem neuen EBS-Volume zugreifen, das aus einem Snapshot erstellt wurde. Sie können diesen Leistungseinbruch mit einer der folgenden Optionen vermeiden:
-
Greifen Sie auf jeden Block zu, bevor Sie das Volumen in die Produktion bringen. Dieser Prozess heißt Initialisierung (früher als "Vorwärmung" bezeichnet). Weitere Informationen finden Sie unter Initialisieren von Volumes Amazon EBS.
-
Aktivieren Sie die schnelle Snapshot-Wiederherstellung für einen Snapshot, um sicherzustellen, dass die daraus erstellten EBS-Volumes bei der Erstellung vollständig initialisiert werden und sofort die gesamte bereitgestellte Leistung erbringen. Weitere Informationen finden Sie unter Schnelle Amazon EBS-Snapshot-Wiederherstellung.
Faktoren, die die HDD-Leistung beeinträchtigen können
Wenn Sie einen Snapshot eines durchsatzoptimierten HDD-Volumes (st1
) oder Cold-HDD-Volumes (sc1
) erstellen, kann die Leistung bis auf den Basiswert des Volumes absinken, während der Snapshot generiert wird. Dieses Verhalten ist für diese Volume-Typen spezifisch. Auch andere Faktoren wirken sich auf die Leistung aus, etwa das Generieren von mehr Durchsatz, als die Instance unterstützen kann, die Leistungseinbußen beim Initialisieren von Volumes, die aus einem Snapshot erstellt werden, und zu viele kleine, zufällige I/O-Operationen auf dem Volume. Weitere Informationen zum Berechnen des Durchsatzes für HDD-Volumes finden Sie unter Amazon EBS-Volume-Typen.
Die Leistung kann auch beeinträchtigt werden, wenn Ihre Anwendung nicht genügend I/O-Anforderungen sendet. Dies können Sie feststellen, indem Sie sich die Warteschlangenlänge und die I/O-Größe ansehen. Die Warteschlangenlänge ist die Anzahl der ausstehenden I/O-Anforderungen von Ihrer Anwendung an Ihr Volume. Um maximale Konsistenz zu erzielen, müssen HDD-basierte Volumes eine Warteschlangenlänge (gerundet auf die nächste Ganzzahl) von mindestens 4 aufrechterhalten, wenn eine sequenzielle I/O-Operation von 1 MiB durchgeführt wird. Weitere Informationen zur Sicherstellung einer konsistenten Leistung Ihrer Volumes finden Sie unter Amazon EBS I/O-Merkmale und Überwachung.
Erhöhen Sie den Read-Ahead-Wert für Workloads mit hohem Durchsatz und mit hohem Lesevorgang auf und (nur Linux-Instances) st1
sc1
Einige Workloads sind leseintensiv und greifen über den Betriebssystem-Seiten-Cache auf das Blockgerät zu (z. B. aus einem Dateisystem). Um den maximalen Durchsatz zu erzielen, empfehlen wir in diesem Fall, eine Read-Ahead-Einstellung von 1 MiB zu konfigurieren. Diese per-block-device Einstellung sollte nur auf Ihre HDD-Volumes angewendet werden.
Verwenden Sie den folgenden Befehl, um den aktuellen Wert des Read-Aheads für Ihre Blockgeräte zu überprüfen:
$
sudo blockdev --report /dev/
<device>
Die Blockgerätinformationen werden im folgenden Format zurückgegeben:
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 4096 8587820544 /dev/<device>
Das angezeigte Gerät meldet einen Read-Ahead-Wert (RA) von 256 (Standardwert). Multiplizieren Sie diese Zahl mit der Sektorgröße (512 Bytes), um die Größe des Read-Ahead-Puffers zu ermitteln, der in diesem Fall 128 KiB groß ist. Verwenden Sie den folgenden Befehl, um den Pufferwert auf 1 MiB festzulegen:
$
sudo blockdev --setra 2048 /dev/
<device>
Stellen Sie sicher, dass für die Read-Ahead-Einstellung nun 2 048 angezeigt wird, indem Sie den ersten Befehl erneut ausführen.
Verwenden Sie diese Einstellung nur, wenn Ihr Workload aus großen, sequenziellen I/O-Operationen besteht. Wenn er hauptsächlich aus kleinen, zufälligen I/O-Operationen besteht, wird die Leistung durch diese Einstellung tatsächlich verschlechtert. Im Allgemeinen gilt: Wenn Ihr Workload hauptsächlich aus kleinen oder zufälligen I/O-Operationen besteht, empfiehlt es sich, eher ein Allzweck-SSD-Volume (gp2
und gp3
) als ein st1
- oder sc1
-Volume zu verwenden.
Verwenden Sie einen modernen Linux-Kernel (nur Linux-Instanzen)
Verwenden Sie einen modernen Linux-Kernel, der indirekte Beschreibungen akzeptiert. Jeder Linux-Kernel 3.8 und höher bietet diese Unterstützung, ebenso wie jede Instanz der aktuellen Generation EC2 . Wenn Ihre durchschnittliche I/O-Größe 44 KiB oder fast 44 KiB beträgt, können Sie eine Instance oder einen Kernel verwenden, der indirekte Beschreibungen unterstützt. Informationen zum Ableiten der durchschnittlichen I/O-Größe aus CloudWatch Amazon-Metriken finden Sie unterAmazon EBS I/O-Merkmale und Überwachung.
Um den maximalen Durchsatz auf st1
- oder sc1
-Volumes zu erzielen, empfehlen wir, für den Parameter xen_blkfront.max
(für Linux-Kernel-Versionen unter 4.6) oder für den Parameter xen_blkfront.max_indirect_segments
(für Linux-Kernel-Version 4.6 und höher) den Wert 256 festzulegen. Sie können den richtigen Parameter in der BS-Start-Befehlszeile festlegen.
In einem Amazon Linux-AMI mit einem älteren Kernel können Sie ihn am Ende der Kernelzeile in der GRUB-Konfiguration unter hinzufüge /boot/grub/menu.lst
:
kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256
Bei einem neueren Kernel würde der Befehl ähnlich wie folgt aussehen:
kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 xen_blkfront.max_indirect_segments=256
Starten Sie Ihre Instance neu, damit diese Einstellung wirksam wird.
Weitere Informationen finden Sie unter GRUB für paravirtual konfigurieren. AMIs Für andere Linux-Distributionen, insbesondere die, die keinen GRUB-Bootloader verwenden, ist möglicherweise ein anderer Ansatz notwendig, um die Kernel-Parameter anzupassen.
Weitere Informationen zu den EBS-I/O-Merkmalen finden Sie in der re:Invent-Präsentation Amazon EBS: Designing for Performance
Verwenden von RAID 0 zur maximalen Nutzung der Instance-Ressourcen
Einige Instance-Typen können mehr I/O-Durchsatz generieren, als von einem einzigen EBS-Volume verarbeitet werden kann. Sie können mehrere Volumes in einer RAID 0-Konfiguration miteinander verbinden, um die verfügbare Bandbreite für diese Instances zu verwenden. Weitere Informationen finden Sie unter Amazon EBS- und RAID-Konfiguration.
Überwachen Sie die Leistung des Amazon EBS-Volumes
Sie können die Leistung Ihrer Amazon EBS-Volumes mithilfe von Amazon CloudWatch, Statusprüfungen und detaillierten EBS-Leistungsstatistiken überwachen und analysieren. Weitere Informationen erhalten Sie unter CloudWatch Amazon-Metriken für Amazon EBS und Detaillierte Leistungsstatistiken von Amazon EBS.