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.
Die Netzwerkleistung zwischen EC2-Instances mit ENA Express verbessern
ENA Express basiert auf der AWS Scalable Reliable Datagram (SRD) -Technologie. SRD ist ein leistungsstarkes Netzwerktransportprotokoll, das dynamisches Routing verwendet, um den Durchsatz zu erhöhen und die Tail-Latenz zu minimieren. Mit ENA Express können Sie zwischen zwei EC2-Instances in derselben Availability Zone oder zwischen Availability Zones innerhalb derselben Region kommunizieren.
Vorteile von ENA Express
-
Erhöht die maximale Bandbreite, die ein einzelner Flow nutzen kann, von 5 Gbit/s auf bis zu 25 Gbit/s innerhalb derselben Region, bis zum Gesamtlimit für Instances.
-
Reduziert die Latenzzeit des Netzwerkverkehrs zwischen EC2-Instances in derselben Availability Zone, 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.
-
Wenn Ihre Anwendung hohe Anforderungen an Pakete pro Sekunde hat und die Latenz in Zeiten ohne Überlastung optimiert werden muss, ist dies möglicherweise die bessere Lösung. Enhanced Networking
-
ENA-Express-Datenverkehr kann nicht in einer Local Zone gesendet werden.
-
ENA Express-Support für den Verkehr zwischen Availability Zones ist in Südamerika (São Paulo), dem Mittleren Osten (Bahrain) und dem Mittleren Osten (VAE) nicht verfügbar.
Nachdem Sie ENA Express für den Netzwerkschnittstellen-Anhang 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 als auch auf der empfangenden Instance ausgeführt wird. Wenn ENA Express in Betrieb ist, kann die Kommunikation eine SRD-Übertragung verwenden. Wenn ENA Express nicht funktioniert, fällt die Kommunikation auf die standardmäßige ENA-Übertragung zurück.
In Zeiten, in denen der Netzwerkverkehr schwach ist, stellen Sie möglicherweise einen leichten Anstieg der mittleren Paketlatenz (mehrere zehn Mikrosekunden) fest, wenn das Paket ENA Express verwendet. Während dieser Zeiten können Anwendungen, die bestimmte Netzwerkleistungsmerkmale priorisieren, von ENA Express wie folgt profitieren:
-
Prozesse können von einer erhöhten maximalen Single-Flow-Bandbreite von 5 Gbit/s auf bis zu 25 Gbit/s innerhalb derselben Region profitieren, bis hin zum Gesamtlimit für Instances. 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.
-
Bei länger laufenden Prozessen in derselben Availability Zone wird es in Zeiten von Netzwerküberlastung zu einer geringeren Latenz kommen.
-
Prozesse können von einer gleichmäßigeren und einheitlicheren Verteilung der Reaktionszeiten des Netzwerks profitieren.
So funktioniert ENA Express
ENA Express basiert auf der AWS Scalable Reliable Datagram (SRD) -Technologie. Es verteilt Pakete für jeden Netzwerkfluss über verschiedene AWS Netzwerkpfade und passt die Verteilung dynamisch an, wenn es Anzeichen einer Überlastung erkennt. Sie verwaltet auch die Neuordnung von Paketen auf der Empfängerseite.
Um sicherzustellen, dass ENA Express den Netzwerkverkehr wie vorgesehen verwalten kann, müssen sendende und empfangende Instances, sowie die Kommunikation zwischen ihnen, alle nachstehenden 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 die sendenden als auch die empfangenden Instances müssen ENA Express konfiguriert haben. 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 |
ENA Express aktiviert |
UDP verwendet ENA Express |
| Instance 1 |
Ja |
Ja |
| Instance 2 |
Ja |
Nein |
In diesem Fall kann für den TCP-Verkehr zwischen den beiden Instances ENA Express verwendet werden, da beide Instances dies aktiviert haben. Da jedoch eine der Instances ENA Express nicht für den UDP-Verkehr verwendet, verwendet die Kommunikation zwischen diesen beiden Instances via UDP die ENA-Standardübertragung.
-
Die sendenden und empfangenden Instanzen müssen in derselben Region laufen.
-
Der Netzwerkpfad zwischen den Instances darf keine Middleware-Boxen enthalten. ENA Express unterstützt derzeit keine Middleware-Boxen.
-
(Nur Linux-Instances) Um das volle Bandbreitenpotenzial zu nutzen, verwenden Sie die Treiberversion 2.2.9 oder höher.
-
(Nur Linux-Instances) Verwenden Sie zum Erstellen von Metriken die Treiberversion 2.8 oder höher.
Wenn eine Anforderung nicht erfüllt ist, verwenden die Instances das TCP/UDP Standardprotokoll, jedoch ohne SRD, um zu kommunizieren.
Um sicherzustellen, dass Ihr Instance-Netzwerktreiber für eine optimale Leistung konfiguriert ist, lesen Sie sich die empfohlenen bewährten Methoden für ENA-Treiber durch. Diese bewährten Methoden gelten auch für ENA Express. Weitere Informationen finden Sie im ENA-Leitfaden für bewährte Methoden und Leistungsoptimierung für Linux-Treiber auf der GitHub Website.
Amazon EC2 bezieht sich auf die Beziehung zwischen einer Instance und einer Netzwerkschnittstelle, die als Anhang an sie angehängt ist. Die ENA-Express-Einstellungen gelten für den Anhang. Wenn die Netzwerkschnittstelle von der Instance getrennt ist, existiert der Anhang nicht mehr und die ENA-Express-Einstellungen, die für ihn 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 Netzwerkschnittstellen-Anhänge sowohl auf der sendenden als auch auf der empfangenden Instance aktiviert haben, können Sie ENA-Express-Metriken verwenden, um dabei zu helfen, sicherzustellen, dass Ihre Instances die Leistungsverbesserungen der SRD-Technologie voll ausschöpfen. Weitere Informationen zu ENA-Express-Metriken finden Sie unter Metriken für ENA Express.
Unterstützte Instance-Typen für ENA Express
Folgende Instance-Typen unterstützen ENA Express.
- General purpose
-
| Instance-Typ |
Architektur |
m6a.12xlarge |
x86_64 |
m6a.16xlarge |
x86_64 |
m6a.24xlarge |
x86_64 |
m6a.32xlarge |
x86_64 |
m6a.48xlarge |
x86_64 |
m6a.metal |
x86_64 |
m6i.8xlarge |
x86_64 |
m6i.12xlarge |
x86_64 |
m6i.16xlarge |
x86_64 |
m6i.24xlarge |
x86_64 |
m6i.32xlarge |
x86_64 |
m6i.metal |
x86_64 |
m6id.8xlarge |
x86_64 |
m6id.12xlarge |
x86_64 |
m6id.16xlarge |
x86_64 |
m6id.24xlarge |
x86_64 |
m6id.32xlarge |
x86_64 |
m6id.metal |
x86_64 |
m6idn.8xlarge |
x86_64 |
m6idn.12xlarge |
x86_64 |
m6idn.16xlarge |
x86_64 |
m6idn.24xlarge |
x86_64 |
m6idn.32xlarge |
x86_64 |
m6idn.metal |
x86_64 |
m6in.8xlarge |
x86_64 |
m6in.12xlarge |
x86_64 |
m6in.16xlarge |
x86_64 |
m6in.24xlarge |
x86_64 |
m6in.32xlarge |
x86_64 |
m6in.metal |
x86_64 |
m7a.12xlarge |
x86_64 |
m7a.16xlarge |
x86_64 |
m7a.24xlarge |
x86_64 |
m7a.32xlarge |
x86_64 |
m7a.48xlarge |
x86_64 |
m7a.metal-48xl |
x86_64 |
m7g.12xlarge |
arm64 |
m7g.16xlarge |
arm64 |
m7g.metal |
arm64 |
m7gd.12xlarge |
arm64 |
m7gd.16xlarge |
arm64 |
m7gd.metal |
arm64 |
m7i.12xlarge |
x86_64 |
m7i.16xlarge |
x86_64 |
m7i.24xlarge |
x86_64 |
m7i.48xlarge |
x86_64 |
m7i.metal-24xl |
x86_64 |
m7i.metal-48xl |
x86_64 |
m8a.16xlarge |
x86_64 |
m8a.24xlarge |
x86_64 |
m8a.48xlarge |
x86_64 |
m8a.metal-24xl |
x86_64 |
m8a.metal-48xl |
x86_64 |
m8azn.12xlarge |
x86_64 |
m8azn.24xlarge |
x86_64 |
m8azn.metal-12xl |
x86_64 |
m8azn.metal-24xl |
x86_64 |
m8g.8xlarge |
arm64 |
m8g.12xlarge |
arm64 |
m8g.16xlarge |
arm64 |
m8g.24xlarge |
arm64 |
m8g.48xlarge |
arm64 |
m8g.metal-24xl |
arm64 |
m8g.metal-48xl |
arm64 |
m8gb.4xlarge |
arm64 |
m8gb.8xlarge |
arm64 |
m8gb.12xlarge |
arm64 |
m8gb.16xlarge |
arm64 |
m8gb.24xlarge |
arm64 |
m8gb.48xlarge |
arm64 |
m8gb.metal-24xl |
arm64 |
m8gb.metal-48xl |
arm64 |
m8gd.8xlarge |
arm64 |
m8gd.12xlarge |
arm64 |
m8gd.16xlarge |
arm64 |
m8gd.24xlarge |
arm64 |
m8gd.48xlarge |
arm64 |
m8gd.metal-24xl |
arm64 |
m8gd.metal-48xl |
arm64 |
m8gn.4xlarge |
arm64 |
m8gn.8xlarge |
arm64 |
m8gn.12xlarge |
arm64 |
m8gn.16xlarge |
arm64 |
m8gn.24xlarge |
arm64 |
m8gn.48xlarge |
arm64 |
m8gn.metal-24xl |
arm64 |
m8gn.metal-48xl |
arm64 |
m8i.8xlarge |
x86_64 |
m8i.12xlarge |
x86_64 |
m8i.16xlarge |
x86_64 |
m8i.24xlarge |
x86_64 |
m8i.32xlarge |
x86_64 |
m8i.48xlarge |
x86_64 |
m8i.96xlarge |
x86_64 |
m8i.metal-48xl |
x86_64 |
m8i.metal-96xl |
x86_64 |
m8id.8xlarge |
x86_64 |
m8id.12xlarge |
x86_64 |
m8id.16xlarge |
x86_64 |
m8id.24xlarge |
x86_64 |
m8id.32xlarge |
x86_64 |
m8id.48xlarge |
x86_64 |
m8id.96xlarge |
x86_64 |
m8id.metal-48xl |
x86_64 |
m8id.metal-96xl |
x86_64 |
m8in.8xlarge |
x86_64 |
m8in.12xlarge |
x86_64 |
m8in.16xlarge |
x86_64 |
m8in.24xlarge |
x86_64 |
m8in.32xlarge |
x86_64 |
m8in.48xlarge |
x86_64 |
m8in.96xlarge |
x86_64 |
m8in.metal-48xl |
x86_64 |
m8in.metal-96xl |
x86_64 |
m8idn.8xlarge |
x86_64 |
m8idn.12xlarge |
x86_64 |
m8idn.16xlarge |
x86_64 |
m8idn.24xlarge |
x86_64 |
m8idn.32xlarge |
x86_64 |
m8idn.48xlarge |
x86_64 |
m8idn.96xlarge |
x86_64 |
m8idn.metal-48xl |
x86_64 |
m8idn.metal-96xl |
x86_64 |
m8ib.8xlarge |
x86_64 |
m8ib.12xlarge |
x86_64 |
m8ib.16xlarge |
x86_64 |
m8ib.24xlarge |
x86_64 |
m8ib.32xlarge |
x86_64 |
m8ib.48xlarge |
x86_64 |
m8ib.96xlarge |
x86_64 |
m8ib.metal-48xl |
x86_64 |
m8ib.metal-96xl |
x86_64 |
m8idb.8xlarge |
x86_64 |
m8idb.12xlarge |
x86_64 |
m8idb.16xlarge |
x86_64 |
m8idb.24xlarge |
x86_64 |
m8idb.32xlarge |
x86_64 |
m8idb.48xlarge |
x86_64 |
m8idb.96xlarge |
x86_64 |
m8idb.metal-48xl |
x86_64 |
m8idb.metal-96xl |
x86_64 |
m9g.8xlarge |
arm64 |
m9g.12xlarge |
arm64 |
m9g.16xlarge |
arm64 |
m9g.24xlarge |
arm64 |
m9g.48xlarge |
arm64 |
m9g.metal-48xl |
arm64 |
m9gd.8xlarge |
arm64 |
m9gd.12xlarge |
arm64 |
m9gd.16xlarge |
arm64 |
m9gd.24xlarge |
arm64 |
m9gd.48xlarge |
arm64 |
m9gd.metal-48xl |
arm64 |
- Compute optimized
-
| Instance-Typ |
Architektur |
c6a.12xlarge |
x86_64 |
c6a.16xlarge |
x86_64 |
c6a.24xlarge |
x86_64 |
c6a.32xlarge |
x86_64 |
c6a.48xlarge |
x86_64 |
c6a.metal |
x86_64 |
c6gn.4xlarge |
arm64 |
c6gn.8xlarge |
arm64 |
c6gn.12xlarge |
arm64 |
c6gn.16xlarge |
arm64 |
c6i.8xlarge |
x86_64 |
c6i.12xlarge |
x86_64 |
c6i.16xlarge |
x86_64 |
c6i.24xlarge |
x86_64 |
c6i.32xlarge |
x86_64 |
c6i.metal |
x86_64 |
c6id.8xlarge |
x86_64 |
c6id.12xlarge |
x86_64 |
c6id.16xlarge |
x86_64 |
c6id.24xlarge |
x86_64 |
c6id.32xlarge |
x86_64 |
c6id.metal |
x86_64 |
c6in.8xlarge |
x86_64 |
c6in.12xlarge |
x86_64 |
c6in.16xlarge |
x86_64 |
c6in.24xlarge |
x86_64 |
c6in.32xlarge |
x86_64 |
c6in.metal |
x86_64 |
c7a.12xlarge |
x86_64 |
c7a.16xlarge |
x86_64 |
c7a.24xlarge |
x86_64 |
c7a.32xlarge |
x86_64 |
c7a.48xlarge |
x86_64 |
c7a.metal-48xl |
x86_64 |
c7g.12xlarge |
arm64 |
c7g.16xlarge |
arm64 |
c7g.metal |
arm64 |
c7gd.12xlarge |
arm64 |
c7gd.16xlarge |
arm64 |
c7gd.metal |
arm64 |
c7gn.4xlarge |
arm64 |
c7gn.8xlarge |
arm64 |
c7gn.12xlarge |
arm64 |
c7gn.16xlarge |
arm64 |
c7gn.metal |
arm64 |
c7i.12xlarge |
x86_64 |
c7i.16xlarge |
x86_64 |
c7i.24xlarge |
x86_64 |
c7i.48xlarge |
x86_64 |
c7i.metal-24xl |
x86_64 |
c7i.metal-48xl |
x86_64 |
c8a.16xlarge |
x86_64 |
c8a.24xlarge |
x86_64 |
c8a.48xlarge |
x86_64 |
c8a.metal-24xl |
x86_64 |
c8a.metal-48xl |
x86_64 |
c8g.8xlarge |
arm64 |
c8g.12xlarge |
arm64 |
c8g.16xlarge |
arm64 |
c8g.24xlarge |
arm64 |
c8g.48xlarge |
arm64 |
c8g.metal-24xl |
arm64 |
c8g.metal-48xl |
arm64 |
c8gb.4xlarge |
arm64 |
c8gb.8xlarge |
arm64 |
c8gb.12xlarge |
arm64 |
c8gb.16xlarge |
arm64 |
c8gb.24xlarge |
arm64 |
c8gb.48xlarge |
arm64 |
c8gb.metal-24xl |
arm64 |
c8gb.metal-48xl |
arm64 |
c8gd.8xlarge |
arm64 |
c8gd.12xlarge |
arm64 |
c8gd.16xlarge |
arm64 |
c8gd.24xlarge |
arm64 |
c8gd.48xlarge |
arm64 |
c8gd.metal-24xl |
arm64 |
c8gd.metal-48xl |
arm64 |
c8gn.4xlarge |
arm64 |
c8gn.8xlarge |
arm64 |
c8gn.12xlarge |
arm64 |
c8gn.16xlarge |
arm64 |
c8gn.24xlarge |
arm64 |
c8gn.48xlarge |
arm64 |
c8gn.metal-24xl |
arm64 |
c8gn.metal-48xl |
arm64 |
c8i.8xlarge |
x86_64 |
c8i.12xlarge |
x86_64 |
c8i.16xlarge |
x86_64 |
c8i.24xlarge |
x86_64 |
c8i.32xlarge |
x86_64 |
c8i.48xlarge |
x86_64 |
c8i.96xlarge |
x86_64 |
c8i.metal-48xl |
x86_64 |
c8i.metal-96xl |
x86_64 |
c8id.8xlarge |
x86_64 |
c8id.12xlarge |
x86_64 |
c8id.16xlarge |
x86_64 |
c8id.24xlarge |
x86_64 |
c8id.32xlarge |
x86_64 |
c8id.48xlarge |
x86_64 |
c8id.96xlarge |
x86_64 |
c8id.metal-48xl |
x86_64 |
c8id.metal-96xl |
x86_64 |
c8in.8xlarge |
x86_64 |
c8in.12xlarge |
x86_64 |
c8in.16xlarge |
x86_64 |
c8in.24xlarge |
x86_64 |
c8in.32xlarge |
x86_64 |
c8in.48xlarge |
x86_64 |
c8in.96xlarge |
x86_64 |
c8in.metal-48xl |
x86_64 |
c8in.metal-96xl |
x86_64 |
c8ib.8xlarge |
x86_64 |
c8ib.12xlarge |
x86_64 |
c8ib.16xlarge |
x86_64 |
c8ib.24xlarge |
x86_64 |
c8ib.32xlarge |
x86_64 |
c8ib.48xlarge |
x86_64 |
c8ib.96xlarge |
x86_64 |
c8ib.metal-48xl |
x86_64 |
c8ib.metal-96xl |
x86_64 |
c9g.8xlarge |
arm64 |
c9g.12xlarge |
arm64 |
c9g.16xlarge |
arm64 |
c9g.24xlarge |
arm64 |
c9g.48xlarge |
arm64 |
c9g.metal-48xl |
arm64 |
c9gd.8xlarge |
arm64 |
c9gd.12xlarge |
arm64 |
c9gd.16xlarge |
arm64 |
c9gd.24xlarge |
arm64 |
c9gd.48xlarge |
arm64 |
c9gd.metal-48xl |
arm64 |
- Memory optimized
-
| Instance-Typ |
Architektur |
r6a.12xlarge |
x86_64 |
r6a.16xlarge |
x86_64 |
r6a.24xlarge |
x86_64 |
r6a.32xlarge |
x86_64 |
r6a.48xlarge |
x86_64 |
r6a.metal |
x86_64 |
r6i.8xlarge |
x86_64 |
r6i.12xlarge |
x86_64 |
r6i.16xlarge |
x86_64 |
r6i.24xlarge |
x86_64 |
r6i.32xlarge |
x86_64 |
r6i.metal |
x86_64 |
r6id.8xlarge |
x86_64 |
r6id.12xlarge |
x86_64 |
r6id.16xlarge |
x86_64 |
r6id.24xlarge |
x86_64 |
r6id.32xlarge |
x86_64 |
r6id.metal |
x86_64 |
r6idn.8xlarge |
x86_64 |
r6idn.12xlarge |
x86_64 |
r6idn.16xlarge |
x86_64 |
r6idn.24xlarge |
x86_64 |
r6idn.32xlarge |
x86_64 |
r6idn.metal |
x86_64 |
r6in.8xlarge |
x86_64 |
r6in.12xlarge |
x86_64 |
r6in.16xlarge |
x86_64 |
r6in.24xlarge |
x86_64 |
r6in.32xlarge |
x86_64 |
r6in.metal |
x86_64 |
r7a.12xlarge |
x86_64 |
r7a.16xlarge |
x86_64 |
r7a.24xlarge |
x86_64 |
r7a.32xlarge |
x86_64 |
r7a.48xlarge |
x86_64 |
r7a.metal-48xl |
x86_64 |
r7g.12xlarge |
arm64 |
r7g.16xlarge |
arm64 |
r7g.metal |
arm64 |
r7gd.12xlarge |
arm64 |
r7gd.16xlarge |
arm64 |
r7gd.metal |
arm64 |
r7i.12xlarge |
x86_64 |
r7i.16xlarge |
x86_64 |
r7i.24xlarge |
x86_64 |
r7i.48xlarge |
x86_64 |
r7i.metal-24xl |
x86_64 |
r7i.metal-48xl |
x86_64 |
r7iz.8xlarge |
x86_64 |
r7iz.12xlarge |
x86_64 |
r7iz.16xlarge |
x86_64 |
r7iz.32xlarge |
x86_64 |
r7iz.metal-16xl |
x86_64 |
r7iz.metal-32xl |
x86_64 |
r8a.16xlarge |
x86_64 |
r8a.24xlarge |
x86_64 |
r8a.48xlarge |
x86_64 |
r8a.metal-24xl |
x86_64 |
r8a.metal-48xl |
x86_64 |
r8g.8xlarge |
arm64 |
r8g.12xlarge |
arm64 |
r8g.16xlarge |
arm64 |
r8g.24xlarge |
arm64 |
r8g.48xlarge |
arm64 |
r8g.metal-24xl |
arm64 |
r8g.metal-48xl |
arm64 |
r8gb.4xlarge |
arm64 |
r8gb.8xlarge |
arm64 |
r8gb.12xlarge |
arm64 |
r8gb.16xlarge |
arm64 |
r8gb.24xlarge |
arm64 |
r8gb.48xlarge |
arm64 |
r8gb.metal-24xl |
arm64 |
r8gb.metal-48xl |
arm64 |
r8gd.8xlarge |
arm64 |
r8gd.12xlarge |
arm64 |
r8gd.16xlarge |
arm64 |
r8gd.24xlarge |
arm64 |
r8gd.48xlarge |
arm64 |
r8gd.metal-24xl |
arm64 |
r8gd.metal-48xl |
arm64 |
r8gn.4xlarge |
arm64 |
r8gn.8xlarge |
arm64 |
r8gn.12xlarge |
arm64 |
r8gn.16xlarge |
arm64 |
r8gn.24xlarge |
arm64 |
r8gn.48xlarge |
arm64 |
r8gn.metal-24xl |
arm64 |
r8gn.metal-48xl |
arm64 |
r8i.8xlarge |
x86_64 |
r8i.12xlarge |
x86_64 |
r8i.16xlarge |
x86_64 |
r8i.24xlarge |
x86_64 |
r8i.32xlarge |
x86_64 |
r8i.48xlarge |
x86_64 |
r8i.96xlarge |
x86_64 |
r8i.metal-48xl |
x86_64 |
r8i.metal-96xl |
x86_64 |
r8id.8xlarge |
x86_64 |
r8id.12xlarge |
x86_64 |
r8id.16xlarge |
x86_64 |
r8id.24xlarge |
x86_64 |
r8id.32xlarge |
x86_64 |
r8id.48xlarge |
x86_64 |
r8id.96xlarge |
x86_64 |
r8id.metal-48xl |
x86_64 |
r8id.metal-96xl |
x86_64 |
r8in.8xlarge |
x86_64 |
r8in.12xlarge |
x86_64 |
r8in.16xlarge |
x86_64 |
r8in.24xlarge |
x86_64 |
r8in.32xlarge |
x86_64 |
r8in.48xlarge |
x86_64 |
r8in.96xlarge |
x86_64 |
r8in.metal-48xl |
x86_64 |
r8in.metal-96xl |
x86_64 |
r8idn.8xlarge |
x86_64 |
r8idn.12xlarge |
x86_64 |
r8idn.16xlarge |
x86_64 |
r8idn.24xlarge |
x86_64 |
r8idn.32xlarge |
x86_64 |
r8idn.48xlarge |
x86_64 |
r8idn.96xlarge |
x86_64 |
r8idn.metal-48xl |
x86_64 |
r8idn.metal-96xl |
x86_64 |
r8ib.8xlarge |
x86_64 |
r8ib.12xlarge |
x86_64 |
r8ib.16xlarge |
x86_64 |
r8ib.24xlarge |
x86_64 |
r8ib.32xlarge |
x86_64 |
r8ib.48xlarge |
x86_64 |
r8ib.96xlarge |
x86_64 |
r8ib.metal-48xl |
x86_64 |
r8ib.metal-96xl |
x86_64 |
r8idb.8xlarge |
x86_64 |
r8idb.12xlarge |
x86_64 |
r8idb.16xlarge |
x86_64 |
r8idb.24xlarge |
x86_64 |
r8idb.32xlarge |
x86_64 |
r8idb.48xlarge |
x86_64 |
r8idb.96xlarge |
x86_64 |
r8idb.metal-48xl |
x86_64 |
r8idb.metal-96xl |
x86_64 |
u7i-6tb.112xlarge |
x86_64 |
u7i-8tb.112xlarge |
x86_64 |
u7i-12tb.224xlarge |
x86_64 |
u7in-16tb.224xlarge |
x86_64 |
u7in-24tb.224xlarge |
x86_64 |
u7in-32tb.224xlarge |
x86_64 |
u7inh-32tb.480xlarge |
x86_64 |
x2idn.16xlarge |
x86_64 |
x2idn.24xlarge |
x86_64 |
x2idn.32xlarge |
x86_64 |
x2idn.metal |
x86_64 |
x2iedn.8xlarge |
x86_64 |
x2iedn.16xlarge |
x86_64 |
x2iedn.24xlarge |
x86_64 |
x2iedn.32xlarge |
x86_64 |
x2iedn.metal |
x86_64 |
x8g.8xlarge |
arm64 |
x8g.12xlarge |
arm64 |
x8g.16xlarge |
arm64 |
x8g.24xlarge |
arm64 |
x8g.48xlarge |
arm64 |
x8g.metal-24xl |
arm64 |
x8g.metal-48xl |
arm64 |
x8aedz.24xlarge |
x86_64 |
x8aedz.metal-24xl |
x86_64 |
x8i.8xlarge |
x86_64 |
x8i.12xlarge |
x86_64 |
x8i.16xlarge |
x86_64 |
x8i.24xlarge |
x86_64 |
x8i.32xlarge |
x86_64 |
x8i.48xlarge |
x86_64 |
x8i.64xlarge |
x86_64 |
x8i.96xlarge |
x86_64 |
x8i.metal-48xl |
x86_64 |
x8i.metal-96xl |
x86_64 |
- Accelerated computing
-
| Instance-Typ |
Architektur |
g6.48xlarge |
x86_64 |
g6e.12xlarge |
x86_64 |
g6e.24xlarge |
x86_64 |
g6e.48xlarge |
x86_64 |
g7.24xlarge |
x86_64 |
g7.48xlarge |
x86_64 |
g7e.12xlarge |
x86_64 |
g7e.24xlarge |
x86_64 |
g7e.48xlarge |
x86_64 |
p5.4xlarge |
x86_64 |
p5.48xlarge |
x86_64 |
p5e.48xlarge |
x86_64 |
p5en.48xlarge |
x86_64 |
p6-b200.48xlarge |
x86_64 |
p6-b300.48xlarge |
x86_64 |
p6e-gb200.36xlarge |
arm64 |
- Storage optimized
-
| Instance-Typ |
Architektur |
i4g.4xlarge |
arm64 |
i4g.8xlarge |
arm64 |
i4g.16xlarge |
arm64 |
i4i.8xlarge |
x86_64 |
i4i.12xlarge |
x86_64 |
i4i.16xlarge |
x86_64 |
i4i.24xlarge |
x86_64 |
i4i.32xlarge |
x86_64 |
i4i.metal |
x86_64 |
i7i.12xlarge |
x86_64 |
i7i.16xlarge |
x86_64 |
i7i.24xlarge |
x86_64 |
i7i.48xlarge |
x86_64 |
i7i.metal-24xl |
x86_64 |
i7i.metal-48xl |
x86_64 |
i7ie.6xlarge |
x86_64 |
i7ie.12xlarge |
x86_64 |
i7ie.18xlarge |
x86_64 |
i7ie.24xlarge |
x86_64 |
i7ie.48xlarge |
x86_64 |
i7ie.metal-24xl |
x86_64 |
i7ie.metal-48xl |
x86_64 |
i8g.8xlarge |
arm64 |
i8g.12xlarge |
arm64 |
i8g.16xlarge |
arm64 |
i8g.24xlarge |
arm64 |
i8g.48xlarge |
arm64 |
i8g.metal-24xl |
arm64 |
i8g.metal-48xl |
arm64 |
i8ge.6xlarge |
arm64 |
i8ge.12xlarge |
arm64 |
i8ge.18xlarge |
arm64 |
i8ge.24xlarge |
arm64 |
i8ge.48xlarge |
arm64 |
i8ge.metal-24xl |
arm64 |
i8ge.metal-48xl |
arm64 |
im4gn.4xlarge |
arm64 |
im4gn.8xlarge |
arm64 |
im4gn.16xlarge |
arm64 |
Die Leistung der ENA-Express-Einstellungen auf Linux-Instances erhöhen
Um sicherzustellen, dass ENA Express effektiv arbeiten kann, muss Ihre Linux-Instance mehrere Anforderungen an die Netzwerkkonfiguration erfüllen.
Anstatt jede Einstellung manuell zu konfigurieren, können Sie das ENA Express-Einstellungsprüfskript aus dem GitHub Amazon-Repository herunterladen und ausführen. Das Skript validiert Ihre Instance anhand der erforderlichen und empfohlenen Einstellungen für ENA Express und gibt genau die Befehle aus, um alle gefundenen Probleme zu beheben.
https://github.com/amzn/amzn-ec2-ena-utilities/blob/main/ena-express/check-ena-express-settings.sh
Das Skript überprüft die folgenden Einstellungen und Konfigurationen:
-
MTU-Größe — ENA Express benötigt eine niedrigere MTU als die Standardeinstellung, um zusätzliche AWS SRD-Header aufnehmen zu können. Bei neu eingerichteten TCP-Verbindungen wird das MSS automatisch geklemmt, um dem entgegenzuwirken. Für den UDP-Verkehr ist jedoch immer noch eine niedrigere MTU erforderlich.
-
Größenbeschränkung für die TCP-Ausgabewarteschlange — Überprüft, ob das Byte-Limit pro Socket während des Fluges ausreicht, um einen hohen Durchsatz aufrechtzuerhalten. Umgebungen mit erhöhter Netzwerklatenz erfordern ein höheres Limit.
-
Byte-Warteschlangenlimit — Bestätigt, dass das Byte-Queue-Limit (BQL) auf der Netzwerkschnittstelle deaktiviert ist. BQL kann die Datenmenge einschränken, die sich für die Übertragung auf Geräteebene in der Warteschlange befindet, was die Leistung von ENA Express einschränkt.
Der ENA-Treiber für die Amazon-Linux-Distribution deaktiviert standardmäßig die Byte-Warteschlangenlimits.
-
TCP-Autocorking — Prüft, ob TCP-Autocorking deaktiviert ist. Die Deaktivierung von Autocorking kann die Latenz für bestimmte ENA Express-TCP-Datenverkehrsmuster reduzieren, z. B. für Workloads mit Anfragen und Antworten. Dies kann zu einem minimalen Anstieg des Overheads bei der Paketverarbeitung führen.
-
TX-Warteschlangengröße und Large LLQ — Überprüft, ob die Übertragungswarteschlange für die Netzwerkschnittstelle groß genug ist, um eine optimale Leistung zu erzielen. Das Skript überprüft auch, ob der ENA-Modulparameter die Funktion Large Low Latency Queue (Large LLQ) explizit deaktiviert, da dadurch die verfügbare TX-Warteschlangentiefe reduziert werden kann. Weitere Informationen zu Large LLQ und seinen Auswirkungen auf die Größe der TX-Warteschlange finden Sie unter Large Low Latency Queue (Large LLQ) am. GitHub
-
RX-Warteschlangengröße — Überprüft, ob der Empfangsringpuffer für die Netzwerkschnittstelle groß genug ist, um eingehenden Datenverkehr effizient zu verarbeiten und Paketverluste unter Last zu vermeiden.
-
TCP- und Netzwerk-Socket-Puffergrößen — Überprüft, ob die maximale Größe des TCP-Empfangs- und Sendepuffers sowie die Standard- und Höchstwerte für den Kernnetzwerk-Socket-Puffer groß genug sind, um einen hohen Durchsatz aufrechtzuerhalten. Diese Einstellungen sind in Umgebungen mit erhöhter Netzwerklatenz wichtig, in denen Sie größere Puffer benötigen, um die Verbindung nutzen zu können.
-
TCP-Überlastungskontrolle — Stellt sicher, dass die Konfiguration der TCP-Überlastungskontrolle für die Verwendung mit ENA Express in Umgebungen mit erhöhter Netzwerklatenz optimiert ist.
Das Skript meldet auch zusätzliche Diagnoseinformationen, darunter die ENA-Treiberversion, ENA-SRD-Statistiken, Interrupt-Moderationseinstellungen, Warteschlangenkonfiguration und Socket-Puffergrößen. Diese Informationen können bei der Behebung von ENA Express-Leistungsproblemen hilfreich sein.
Um sicherzustellen, dass der Netzwerktreiber Ihrer Instanz für eine optimale Leistung konfiguriert ist, lesen Sie auch den ENA Linux Driver Best Practices and Performance Optimization Guide unterGitHub.