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
Verschiedene Faktoren, darunter I/O Eigenschaften und Konfiguration Ihrer Instances und Volumes, können die Leistung von Amazon EBS beeinflussen. 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 der Arbeit mit EBS-Volumes vertraut gemacht haben, sollten Sie sich die I/O Leistung ansehen, die Sie benötigen, und Ihre Optionen zur Steigerung der Amazon EBS-Leistung, 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 Instanzbandbreite.
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 I/O Merkmale und Überwachung von Amazon EBS.
Informationen zum Workload
Es besteht ein Zusammenhang zwischen der maximalen Leistung Ihrer EBS-Volumes, der Größe und Anzahl der I/O Operationen und der Zeit, die für den Abschluss der einzelnen Aktionen benötigt wird. 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 Sie die Volumes nach der Erstellung manuell.
-
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. Weitere Faktoren, die die Leistung einschränken können, sind die Erhöhung des Durchsatzes, als die Instance unterstützen kann, Leistungseinbußen bei der Initialisierung von Volumes, die aus einem Snapshot erstellt wurden, und übermäßige Mengen kleiner, zufälliger Dateien I/O auf dem Volume. Weitere Informationen zum Berechnen des Durchsatzes für HDD-Volumes finden Sie unter Amazon EBS-Volume-Typen.
Ihre Leistung kann auch beeinträchtigt werden, wenn Ihre Anwendung nicht genug sendet. I/O requests. This can be monitored by looking at your volume’s queue length and I/O size. The queue length is the number of pending I/O requests from your application to your volume. For maximum consistency, HDD-backed volumes must maintain a queue length (rounded to the nearest whole number) of 4 or more when performing 1 MiB sequential I/O Weitere Informationen zur Leistungsoptimierung Ihrer Volumes finden Sie unter I/O Merkmale und Überwachung von Amazon EBS.
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 Ihre Arbeitslast aus großenI/Os. If it
consists mostly of small, random I/Os, this setting will actually degrade your performance.
In general, if your workload consists mostly of small or random I/Os, sequentiellen Workloads besteht. Sie sollten die Verwendung eines Allzweck-SSD-Volumes (gp2
undgp3
) anstelle eines st1
sc1
OR-Volumes in Betracht ziehen.
Verwenden Sie einen modernen Linux-Kernel (nur Linux-Instances)
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 bei oder nahe 44 KiB liegt, verwenden Sie möglicherweise eine Instanz oder einen Kernel ohne Unterstützung für indirekte Deskriptoren. Informationen zum Ableiten der durchschnittlichen I/O Größe anhand von CloudWatch Amazon-Metriken finden Sie unter I/O Merkmale und Überwachung von Amazon EBS.
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 I/O EBS-Eigenschaften 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 einen höheren I/O Durchsatz erzielen, als Sie für ein einzelnes EBS-Volume bereitstellen können. 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.