10GBASE-T-Leistung unter Windows 7

10GBASE-T-Leistung unter Windows 7

Dies ist mein Szenario:

-Workstation1: CPU i7-3770 / 16 GB RAM / Gigabyte Z77-D3H-Motherboard / Crucial CT256MX100SSD1-Sysyem-Disk / Netzwerkadapter Intel X540-T1 / Windows 7 64 Bit -Workstation2: CPU i7-950 / 12 GB RAM / ASUS P6X58D-E-Motherboard / Crucial CT256MX100SSD1-Sysyem-Disk / Netzwerkadapter Intel X540-T1 / Windows 7 64 Bit
-Switcher HP Procurve 2920 mit zwei doppelten 10-Gigabit-Ethernet-Erweiterungskarten.

Beide UTP-Kabel sind Cat6, weniger als 15 Meter lang und werden von jeder Arbeitsstation direkt an den HP-Switch angeschlossen. Beide Netzwerkadapter scheinen mit 10 Gbit/s verbunden zu sein.

Ich teste die Netzwerkleistung mit iperf:

-workstation1: iperf -s
-workstation2: iperf -c<workstation1 ip>

Ich erhalte etwa 1 Gbit pro Sekunde statt 10 Gbit pro Sekunde. Gibt es also einen Schritt, den ich falsch mache? Gibt es irgendwelche Informationen zu Netzwerkeinschränkungen unter Windows 7? Danke.

AKTUALISIERT - NTttcp-Tests

C:\NTttcp-v5.28\x64>NTttcp.exe -s -m 8,*,192.168.1.20 -l 128k -a 2 -t 15

Copyright Version 5.28
Netzwerkaktivität schreitet voran …

Thread Zeit(en) Durchsatz(KB/s) Durchschnitt B / Kompl    
====== ======= ================= ==============    

0 15.001 38661.956 131072.000
1 14.999 38257.484 131072.000   
2 14.998 53989.065 131072.000   
3 14.998 38336.845 131072.000   
4 14.999 38086.806 131072.000   
5 15.000 37563.733 131072.000   
6 14.997 56408.082 131072.000   
7 15.000 52292.267 131072.000   


##### Gesamt: #####


Bytes (MEG) Echtzeit(s) Durchschnittliche Frame-Größe Durchsatz (MB/s)    
=========== ============ =============== ================  
5179,250000 15.000 1459,696 345,283   


>Durchsatz (Puffer/s) Zyklen/Byte Puffer    
====================== ============== ==========    
      2762.267 6.912 41434.000    


>DPCs (Anzahl/s) Pkts (Anzahl/DPC) Intr (Anzahl/s) Pkts (Anzahl/Intr)   
============= ============== ================ ==============   
    13668.933 1.633 22030.933 1.013   



>Gesendete Pakete Empfangene Pakete Neuübertragungen Fehler Durchschnittliche CPU-Auslastung %    
============== ================ =========== ====== ==========    
     3720525 334723 4364 0 10,179  

Antwort1

Probieren Sie die angezeigten Vorschläge ausHier

  1. Sie müssen RSS (Receive Side Scaling), LSO (Large Send/Segment Offloading), TCP-Fensterskalierung (automatische Abstimmung) und TCP Chimney (für Windows) sowie optional RSC (Receive Side Coalescing) ordnungsgemäß einrichten und konfigurieren.

Selbst moderne Prozessoren können Lesevorgänge im Umfang von 10 GB auf einem einzigen Prozessorkern nicht verarbeiten. Daher muss RSS mit mindestens 4 physischen Prozessorkernen eingerichtet werden (RSS funktioniert nicht auf logischen Hyperthread-Kernen), möglicherweise 8, je nach Prozessor, um die Empfangslast auf mehrere Prozessoren zu verteilen. Sie können dies über PowerShell (Windows) mit dem Cmdlet Set-NetAdapterRss tun.

Beispielbefehl für einen Prozessor mit 4 physischen Kernen und Hyperthreading (0,2,4,6 sind physisch, 1,3,5,7 sind logisch … so ungefähr eine Faustregel) Set-NetAdapterRss -Name "" -NumberOfReceiveQueues 4 -BaseProcessorNumber 0 -MaxProcessorNumber 6 -MaxProcessors 4 -Enabled

LSO wird in den NIC-Treibern und/oder PowerShell eingestellt. Dadurch kann Windows/Linux/was auch immer ein großes Paket erstellen (sagen wir 64 KB-1 MB) und die NIC-Hardware die Segmentierung der Daten auf den MSS-Wert übernehmen lassen. Dies verringert die Prozessorauslastung auf dem Host und beschleunigt die Übertragung, da die Segmentierung in der Hardware schneller erfolgt und das Betriebssystem weniger Arbeit leisten muss.

RSC wird in Windows oder Linux und auf der Netzwerkkarte eingestellt. Dies bewirkt das Gegenteil von LSO. Kleine Blöcke werden von der Netzwerkkarte empfangen und zu einem großen Paket zusammengefasst, das an das Betriebssystem gesendet wird. Reduziert den Prozessor-Overhead auf der Empfangsseite.

Während TCP Chimney in der 1-GB-Welt einen schlechten Ruf hat, glänzt es in der 10-GB-Welt. Stellen Sie es in Windows 8+/2012+ auf Automatisch ein und es wird nur unter bestimmten Umständen in 10-GB-Netzwerken aktiviert.

TCP-Fensterskalierung (Autotuning in der Windows-Welt) ist ein absolutes Muss. Ohne sie werden die TCP-Fenster nie groß genug, um einen hohen Durchsatz bei einer 10-GB-Verbindung aufrechtzuerhalten.

  1. Aktivieren Sie 9K-Jumbo-Frames (manche sagen nein, manche sagen ja … hängt wirklich von der Hardware ab, also testen Sie beide Varianten).

Auf meiner Hardware war das Aktivieren von Jumbo-Frames der entscheidende Punkt. Achten Sie auch besonders auf die IRQ-Coalesce-Einstellung.

verwandte Informationen