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.
Optimieren Sie die Netzwerkleistung auf EC2 Windows-Instanzen
Um die maximale Netzwerkleistung auf Ihren Windows-Instances mit erweitertem Netzwerk zu erreichen, müssen Sie möglicherweise die Standardbetriebssystemkonfiguration ändern. Wir empfehlen die folgenden Konfigurationsänderungen für Anwendungen, die eine hohe Netzwerkleistung erfordern. Andere Optimierungen (wie z. B. das Aktivieren und Aktivieren RSS von Prüfsummenablagerungen) sind in offiziellen Windows-Versionen bereits konfiguriert. AMIs
Anmerkung
TCPChimney Offloading sollte in den meisten Anwendungsfällen deaktiviert sein und ist seit Windows Server 2016 veraltet.
Zusätzlich zu diesen Betriebssystemoptimierungen sollten Sie auch die maximale Übertragungseinheit (MTU) Ihres Netzwerkverkehrs berücksichtigen und diese an Ihre Arbeitslast und Netzwerkarchitektur anpassen. Weitere Informationen finden Sie unter Maximale Netzwerkübertragungseinheit (MTU) für Ihre EC2 Instanz.
AWS misst regelmäßig durchschnittliche Round-Trip-Latenzen zwischen Instances, die in einer Cluster-Platzierungsgruppe von 50 us gestartet werden, und Tail-Latenzen von 200 us bei 99,9 Perzentil. Wenn Ihre Anwendungen durchweg niedrige Latenzen benötigen, empfehlen wir, die neueste Version der ENA Treiber auf Instances mit fester Leistung zu verwenden, die auf dem Nitro System basieren.
Konfigurieren Sie die Empfangsseitige Skalierungsaffinität CPU
Die empfangsseitige Skalierung (RSS) wird verwendet, um die CPU Netzwerkdatenverkehrslast auf mehrere Prozessoren zu verteilen. Standardmäßig AMIs sind die offiziellen Amazon Windows mit RSS aktiviert konfiguriert. ENAElastische Netzwerkschnittstellen bieten bis zu acht RSS Warteschlangen. Durch die Definition der CPU Affinität für RSS Warteschlangen sowie für andere Systemprozesse ist es möglich, die CPU Last auf Mehrkernsysteme zu verteilen, sodass mehr Netzwerkverkehr verarbeitet werden kann. Bei Instance-Typen mit mehr als 16 empfehlen wirvCPUs, das Set-NetAdapterRSS
PowerShell Cmdlet zu verwenden, das den Startprozessor (logische Prozessoren 0 und 1, wenn Hyperthreading aktiviert ist) manuell aus der RSS Konfiguration für alle Elastic Network-Schnittstellen ausschließt, um Konflikte mit verschiedenen Systemkomponenten zu vermeiden.
Windows ist Hyperthread-fähig und stellt sicher, dass die RSS Warteschlangen einer einzelnen Netzwerkschnittstellenkarte () immer auf unterschiedlichen physischen Kernen platziert werden. NIC Wenn Hyperthreading nicht deaktiviert ist, sollten Sie daher die RSS Konfiguration der einzelnen Prozessoren auf einen Bereich von 16 logischen Prozessoren verteilenNICs, um Konflikte mit anderen vollständig NIC zu vermeiden. Mit dem Set-NetAdapterRss
Cmdlet können Sie die Anzahl der gültigen logischen Prozessoren pro NIC Bereich definieren, indem Sie die Werte von BaseProcessorGroup,, BaseProcessorNumber MaxProcessingGroup, MaxProcessorNumber und (optional) definieren. NumaNode Wenn nicht genügend physische Kerne vorhanden sind, um NIC Konflikte vollständig auszuschließen, minimieren Sie die überlappenden Bereiche oder reduzieren Sie die Anzahl der logischen Prozessoren in den elastic network interface Network-Schnittstellenbereichen, abhängig von der erwarteten Arbeitslast der Schnittstelle (mit anderen Worten, einer administrativen Netzwerkschnittstelle mit geringem Volumen müssen möglicherweise nicht so viele RSS Warteschlangen zugewiesen werden). Außerdem müssen, wie bereits erwähnt, verschiedene Komponenten auf CPU 0 ausgeführt werden. Daher empfehlen wir, diese Komponente aus allen RSS Konfigurationen auszuschließen, sofern ausreichend vCPUs davon verfügbar ist.
Wenn beispielsweise drei Elastic Network-Schnittstellen auf einer CPU 72-V-Instance mit 2 NUMA Knoten und aktiviertem Hyperthreading vorhanden sind, verteilen die folgenden Befehle die Netzwerklast CPUs ohne Überschneidung zwischen den beiden und verhindern so die Verwendung von Core 0 vollständig.
Set-NetAdapterRss -Name NIC1 -BaseProcessorGroup 0 -BaseProcessorNumber 2 -MaxProcessorNumber 16 Set-NetAdapterRss -Name NIC2 -BaseProcessorGroup 1 -BaseProcessorNumber 0 -MaxProcessorNumber 14 Set-NetAdapterRss -Name NIC3 -BaseProcessorGroup 1 -BaseProcessorNumber 16 -MaxProcessorNumber 30
Beachten Sie, dass diese Einstellungen für jeden Netzwerkadapter bestehen bleiben. Wenn die Größe einer Instance auf eine mit einer anderen Anzahl von geändert wirdvCPUs, sollten Sie die RSS Konfiguration für jede aktivierte elastic network interface neu bewerten. Die vollständige Microsoft-Dokumentation für das Set-NetAdapterRss
Cmdlet finden Sie hier: https://docs.microsoft.com/en-us/ powershell/module/netadapter/set-netadapterrss.
Besonderer Hinweis für SQL Workloads: Wir empfehlen Ihnen außerdem, Ihre I/O-Thread-Affinitätseinstellungen zusammen mit Ihrer elastic network interface RSS Network-Schnittstellenkonfiguration zu überprüfen, um I/O- und Netzwerkkonflikte zu minimieren. CPUs Weitere Informationen finden Sie unter Affinitätsmaske (Serverkonfigurationsoption)