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.
Verbessern Sie die Netzwerkleistung zwischen EC2 Instanzen mit ENA Express
ENAExpress basiert auf der AWS Scalable Reliable Datagram (SRD) -Technologie. SRDist ein leistungsstarkes Netzwerktransportprotokoll, das dynamisches Routing verwendet, um den Durchsatz zu erhöhen und die Latenz am Ende zu minimieren. Mit ENA Express können Sie zwischen zwei EC2 Instances in derselben Availability Zone kommunizieren.
Vorteile von ENA Express
-
Erhöht die maximale Bandbreite, die ein einzelner Flow innerhalb der Availability Zone nutzen kann, von 5 Gbit/s auf 25 Gbit/s, bis zum Gesamtlimit für Instanzen.
-
Reduziert die Latenz des Netzwerkverkehrs zwischen EC2 Instances am Ende, insbesondere in Zeiten hoher Netzwerklast.
-
Erkennt und vermeidet überlastete Netzwerkpfade.
-
Führt einige Aufgaben direkt auf der Netzwerkebene aus, z. B. die Neuordnung von Paketen auf der Empfängerseite und die meisten erforderlichen Neuübertragungen. Dadurch wird die Anwendungsebene für andere Arbeiten freigegeben.
Anmerkung
-
Wenn Ihre Anwendung ein hohes Volumen an Paketen pro Sekunde sendet oder empfängt und die meiste Zeit auf Latenz optimiert werden muss, insbesondere in Zeiten ohne Überlastung des Netzwerks, ist Enhanced Networking möglicherweise besser für Ihr Netzwerk geeignet.
-
ENAExpress-Verkehr kann nicht über Subnetze in einer lokalen Zone gesendet werden.
Nachdem Sie ENA Express für den Anschluss an eine Netzwerkschnittstelle auf einer Instance aktiviert haben, initiiert die sendende Instance die Kommunikation mit der empfangenden Instance und SRD erkennt, ob ENA Express sowohl auf der sendenden Instance als auch auf der empfangenden Instance läuft. Wenn ENA Express in Betrieb ist, kann die Kommunikation Übertragung verwendenSRD. Wenn ENA Express nicht funktioniert, fällt die Kommunikation auf die ENA Standardübertragung zurück.
In Zeiten, in denen der Netzwerkverkehr gering ist, stellen Sie möglicherweise einen leichten Anstieg der Paketlatenz (mehrere zehn Mikrosekunden) fest, wenn das Paket ENA Express verwendet. In diesen Zeiten können Anwendungen, die bestimmten Leistungsmerkmalen des Netzwerks Priorität einräumen, wie folgt von ENA Express profitieren:
-
Prozesse können von einer erhöhten maximalen Single-Flow-Bandbreite von 5 Gbit/s auf 25 Gbit/s innerhalb derselben Availability Zone bis hin zum aggregierten Instance-Limit profitieren. Wenn ein bestimmter Instance-Typ beispielsweise bis zu 12,5 Gbit/s unterstützt, ist die Single-Flow-Bandbreite ebenfalls auf 12,5 Gbit/s begrenzt.
-
Länger ausgeführte Prozesse sollten in Zeiten der Netzwerküberlastung eine geringere Latenz aufweisen.
-
Prozesse können von einer gleichmäßigeren und einheitlicheren Verteilung der Reaktionszeiten des Netzwerks profitieren.
Themen
- Wie funktioniert Express ENA
- Unterstützte Instance-Typen für ENA Express
- Voraussetzungen für Linux-Instances
- Optimieren Sie die Leistung der ENA Express-Einstellungen auf Linux-Instances
- Überprüfen Sie die ENA Express-Einstellungen für Ihre EC2 Instanz
- Konfigurieren Sie die ENA Express-Einstellungen für Ihre EC2 Instanz
Wie funktioniert Express ENA
ENAExpress basiert auf der AWS Scalable Reliable Datagram (SRD) -Technologie. Sie verteilt Pakete für jeden Netzwerkfluss auf verschiedene AWS Netzwerkpfade und passt die Verteilung dynamisch an, wenn Anzeichen einer Überlastung erkannt werden. Sie verwaltet auch die Neuordnung von Paketen auf der Empfängerseite.
Um sicherzustellen, dass ENA Express den Netzwerkverkehr wie vorgesehen verwalten kann, müssen die sendenden und empfangenden Instances sowie die Kommunikation zwischen ihnen alle folgenden Anforderungen erfüllen:
-
Sowohl sendende als auch empfangende Instance-Typen werden unterstützt. Weitere Informationen finden Sie in der Unterstützte Instance-Typen für ENA Express-Tabelle.
-
Sowohl für die sendenden als auch für die empfangenden Instances muss ENA Express konfiguriert sein. Wenn es Unterschiede in der Konfiguration gibt, kann es zu Situationen kommen, in denen der Datenverkehr standardmäßig auf die ENA Standardübertragung umgestellt wird. Das folgende Szenario zeigt, was in diesem Fall passieren kann.
Szenario: Unterschiede in der Konfiguration
Instance ENAExpress aktiviert UDPverwendet ENA Express Instance 1 Ja Ja Instance 2 Ja Nein In diesem Fall kann für den TCP Verkehr zwischen den beiden Instanzen ENA Express verwendet werden, da beide Instanzen dies aktiviert haben. Da eine der Instances jedoch nicht ENA Express für den UDP Datenverkehr verwendet, UDP verwendet die Kommunikation zwischen diesen beiden Instanzen die ENA Standardübertragung.
-
Die sendenden und empfangenden Instances müssen in derselben Availability Zone ausgeführt werden.
-
Der Netzwerkpfad zwischen den Instances darf keine Middleware-Boxen enthalten. ENAExpress unterstützt derzeit keine Middleware-Boxen.
-
(Nur Linux-Instanzen) Verwenden Sie die Treiberversion 2.2.9 oder höher, um das volle Bandbreitenpotenzial auszuschöpfen.
-
(Nur Linux-Instances) Verwenden Sie die Treiberversion 2.8 oder höher, um Metriken zu erstellen.
Wenn eine Anforderung nicht erfüllt ist, verwenden die Instanzen das UDP StandardprotokollTCP/, ohne jedoch SRD zu kommunizieren.
Lesen Sie die empfohlenen Best Practices für Treiber, um sicherzustellen, dass Ihr ENA Instance-Netzwerktreiber für optimale Leistung konfiguriert ist. Diese bewährten Methoden gelten auch für ENA Express. Weitere Informationen finden Sie im Leitfaden „Bewährte Methoden und Leistungsoptimierung für ENA Linux-Treiber
Anmerkung
Amazon EC2 bezeichnet die Beziehung zwischen einer Instance und einer Netzwerkschnittstelle, die an sie angehängt ist, als Anlage. ENADie Express-Einstellungen gelten für den Anhang. Wenn die Netzwerkschnittstelle von der Instanz getrennt wird, ist die Anlage nicht mehr vorhanden, und die ENA Express-Einstellungen, die für sie galten, sind nicht mehr gültig. Das Gleiche gilt, wenn eine Instance beendet wird, auch wenn die Netzwerkschnittstelle erhalten bleibt.
Nachdem Sie ENA Express für die Netzwerkschnittstellenanhänge sowohl auf der sendenden als auch auf der empfangenden Instance aktiviert haben, können Sie mithilfe von ENA Express-Metriken sicherstellen, dass Ihre Instances die Leistungsverbesserungen, die die SRD Technologie bietet, in vollem Umfang nutzen. Weitere Informationen zu ENA Express-Metriken finden Sie unterMetriken für ENA Express.
Unterstützte Instance-Typen für ENA Express
Die folgenden Tabs zeigen Instanztypen, die ENA Express unterstützen.
Voraussetzungen für Linux-Instances
Um sicherzustellen, dass ENA Express effektiv arbeiten kann, aktualisieren Sie die Einstellungen für Ihre Linux-Instance wie folgt.
-
Wenn Ihre Instance Jumbo-Frames verwendet, führen Sie den folgenden Befehl aus, um Ihre maximale Übertragungseinheit (MTU) auf
8900
einzustellen.[ec2-user ~]$
sudo ip link set dev
eth0
mtu8900
-
Erhöhen Sie die Ringgröße des Empfängers (Rx) wie folgt:
[ec2-user ~]$
ethtool -G
device
rx 8192 -
Um die ENA Express-Bandbreite zu maximieren, konfigurieren Sie Ihre TCP Warteschlangenlimits wie folgt:
-
Legen Sie das Limit für TCP kleine Warteschlangen auf 1 MB oder höher fest. Dadurch erhöht sich die Datenmenge, die für die Übertragung auf einem Socket in der Warteschlange steht.
sudo sh -c 'echo
1048576
> /proc/sys/net/ipv4/tcp_limit_output_bytes' -
Deaktivieren Sie Byte-Warteschlangenlimits auf dem ETH-Gerät, wenn diese für Ihre Linux-Distribution aktiviert sind. Dadurch erhöht sich die Anzahl der für die Übertragung in der Gerätewarteschlange anstehenden Daten.
sudo sh -c 'for txq in /sys/class/net/
eth0
/queues/tx-*; do echo max > ${txq}/byte_queue_limits/limit_min; done'Anmerkung
Der ENA Treiber für die Amazon Linux-Distribution deaktiviert standardmäßig Byte-Warteschlangenlimits.
-
Optimieren Sie die Leistung der ENA Express-Einstellungen auf Linux-Instances
Um Ihre Linux-Instance-Konfiguration auf optimale ENA Express-Leistung zu überprüfen, können Sie das folgende Skript ausführen, das im GitHub Amazon-Repository verfügbar ist:
https://github.com/amzn/check-ena-express-settingsamzn-ec2-ena-utilities/blob/main/ena-express/ .sh
Das Skript führt eine Reihe von Tests durch und schlägt sowohl empfohlene als auch erforderliche Konfigurationsänderungen vor.