Zu niedrige Transferraten mit 10G Ethernetadaptern - Wie troubleshooten?

wegi

Lt. Commander
Registriert
Aug. 2006
Beiträge
1.219
Hallo zusammen,

ich brauche eure Hilfe bei folgendem Problem: Ich habe in zwei Rechnern 10GBe Kuper-Netzwerkadapter verbaut, aber schaffe es maximal 7GBit/s zu transferieren. Ich komme nicht dahinter, woran es liegt und suche Tipps, wo man ansetzen kann.

Das Setup ist wie folgt:
PC1: Z690 Board, Marcel AQtion 10Gbit Karte in einem PCI-E 3.0 Slot (Marvel / AQtion AQC107 Chipsatz)
PV2: Z390 Board, Intel X550-T2 10Gbit Karte in einem PCI-E 3.0 Slot (lt. Handbuch sollten alle 16x Slots mindesten x4 Speed schaffen, es sei denn eine SSD sei mit dem M2P connector verbunden (was immer das sein soll)) Ich habe die Karte aber auch schon in einen anderen Slot gesteckt. Hat nichts geändert.

Um den Switch aus dem Rennen zu nehmen, sind die beiden 10G Karten direkt über ein CAT8.1 Kabel verbunden. (Anderes Kabel habe ich auch probiert, kein Unterschied)

Getestet habe ich mit iperf3 unter verschiedenen Betriebssystemen. (u.a. Manjaro Linux, Debian, Win11)
Mit MTU 1500 kommt ich auf maximal 6,4GBit/sek (ab 2 Streams)
Mit MTU 9014 komme ich auf knapp 7Gbit/sek (ab 2 Streams)

Die ganzen Offloading-Einstellungen in den Adaptern sind aktiv, ich habe unter Windows die neusten Treiber verwendet (3.16 bei der Marvel, 27 beim Intel Treiber)

Unter Windows steht der Energiesparplan auf Höchstleistung (also insb. auch die PCI Express Stromsparoption ist ausgeschaltet) Aber wie gesagt, unter Linux sieht es nicht besser aus mit den Transferraten.

Habt ihr einen Tipp, wie wie der Sache auf die Spur kommen kann? Eine 3. Karte oder ein weiterer Rechner steht leider nicht zur Verfügung.

Danke!
 
Am besten detailierte Infornationen zu soft und Hardware abgeben. (Momentan sind die Angaben unvollständig bzw. ungenau)
Vlt schaffen die SSDs nicht die Bandbreite/ was sagt die Auslastung der Hardware?
 
Fujiyama schrieb:
Vlt schaffen die SSDs nicht die Bandbreite/ was sagt die Auslastung der Hardware?
...was bei iperf genau gar keine Rolle spielt.

Ich würde bei den Rechnern erstmal mit der CPU-Auslastung anfangen: Ist da ein Kern bereits am Anschlag?
Sind Deine Werte für TCP oder UDP-Pakete?
 
  • Gefällt mir
Reaktionen: Nore Ply und wegi
Hallo, iperf läuft im RAM. Die SSD ist nicht relevant. Der iPerf-Prozess erzeugt so 2-3% Last, wenn der Test läuft.

EDIT: Gerade die Antwort von Joe Dalton gesehen: TCP.

Zur CPU Last stand hier Quatsch. Habe es unten richtig gestellt.
 
Zuletzt bearbeitet:
mit tcp optimizer schon die default settings geladen?
 
Ich muss mich glaube ich korrigieren.... Einzelne Kerne sind dann doch eher bei 50% Auslastung auf dem 9900K, wenn das Tool läuft. Hab es falsch abgelesen. Aber dennoch, im Ressourcenmonitor geht auf keiner der beiden Seiten ein Kern in die Auslastung.
Ergänzung ()

wern001 schrieb:
mit tcp optimizer schon die default settings geladen?
Nein, kenne ich noch gar nicht. Werd ich mir ansehen.

Möchte nochmal zu Bedenken geben, dass ich die selben Transferraten sehe, wenn auf beiden Seiten ein Linux mit aktuellen Treibern läuft.
 
Lass den Test mal mit UDP laufen. Du wirst keine 100% bekommen, aber UDP sollte eine höhere Rohleistung liefern.
 
  • Gefällt mir
Reaktionen: wegi
Irgendwas mach ich falsch in Sachen UDP :-o

C:\Users\marku\Downloads\iperf-3.1.3-win64\iperf-3.1.3-win64>iperf3 -c 10.0.0.1 -u
Connecting to host 10.0.0.1, port 5201
[ 4] local 10.0.0.2 port 61044 connected to 10.0.0.1 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 1.01-2.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 2.01-3.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 3.00-4.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 4.01-5.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 5.00-6.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 6.01-7.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 7.01-8.00 sec 128 KBytes 1.06 Mbits/sec 16
[ 4] 8.00-9.01 sec 128 KBytes 1.04 Mbits/sec 16
[ 4] 9.01-10.00 sec 128 KBytes 1.06 Mbits/sec 16
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 1.25 MBytes 1.05 Mbits/sec 8.433 ms 0/159 (0%)
[ 4] Sent 159 datagrams

iperf Done.
 
"iperf -Z" benutzt? iperf ist singlethreaded und -Z verringert die cpu-last:

Code:
$ iperf3 -Z -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[  5] local 127.0.0.1 port 54636 connected to 127.0.0.1 port 5201
...
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   112 GBytes  96.2 Gbits/sec   57             sender
[  5]   0.00-10.00  sec   112 GBytes  96.2 Gbits/sec                  receiver

$ iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[  5] local 127.0.0.1 port 54640 connected to 127.0.0.1 port 5201
...
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  92.6 GBytes  79.5 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  92.6 GBytes  79.5 Gbits/sec                  receiver

anonsten geht das auch auf cpus mit wesentlich weniger takt ohne probleme:
Code:
$ grep name /proc/cpuinfo | uniq
model name    : AMD EPYC 7542 32-Core Processor

$ lspci | grep Ethernet
63:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]

$ ethtool eno33np0 | grep Speed
    Speed: 25000Mb/s

$# iperf3 -Z -c ...
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  28.6 GBytes  24.6 Gbits/sec  755             sender
[  5]   0.00-10.00  sec  28.6 GBytes  24.6 Gbits/sec                  receiver
 
  • Gefällt mir
Reaktionen: wegi
7 Gbit/s sind relativ nah an PCIe 3.0 1x (0,97 Gbyte/s - ca 7,76 Gbit/s).
Überprüfe doch mal bitte wie viele Lanes bei beiden Systemen tatsächlich an den Netzwerkkarten anliegen z.B. mit hwinfo.
Dann wäre auch die tatsächlichen Motherboard Modelle und die weitere Hardware interessant, auch CPU und Grafikkarte um zu sehen wie viele PCIe Lanes zur Verfügung stehen und ggf. schon belegt sind.
 
  • Gefällt mir
Reaktionen: wegi
@0x8100: -Z frisst er nur unter Linux. Ich habs nur mal schnell unter WSL2 probiert, da ändert sich nix. Wiederhole das aber später nochmal unter nativem Linux (Auf dem einen Rechner tipp ich grad und muss den dann nochmal per Live-OS booten)

Übrigens nette Transferraten :-) Das sieht nicht nach Homelab aus ;-)

markus@Z690:/mnt/c/Users/marku$ iperf3 -Z -c 10.0.0.1 -P 2 -t 2
Connecting to host 10.0.0.1, port 5201
[ 5] local 172.17.11.183 port 58094 connected to 10.0.0.1 port 5201
[ 7] local 172.17.11.183 port 58096 connected to 10.0.0.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 379 MBytes 3.18 Gbits/sec 0 332 KBytes
[ 7] 0.00-1.00 sec 393 MBytes 3.29 Gbits/sec 0 226 KBytes
[SUM] 0.00-1.00 sec 772 MBytes 6.48 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 1.00-2.00 sec 371 MBytes 3.11 Gbits/sec 0 332 KBytes
[ 7] 1.00-2.00 sec 394 MBytes 3.30 Gbits/sec 0 226 KBytes
[SUM] 1.00-2.00 sec 765 MBytes 6.42 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-2.00 sec 750 MBytes 3.15 Gbits/sec 0 sender
[ 5] 0.00-2.00 sec 747 MBytes 3.13 Gbits/sec receiver
[ 7] 0.00-2.00 sec 787 MBytes 3.30 Gbits/sec 0 sender
[ 7] 0.00-2.00 sec 784 MBytes 3.29 Gbits/sec receiver
[SUM] 0.00-2.00 sec 1.50 GBytes 6.45 Gbits/sec 0 sender
[SUM] 0.00-2.00 sec 1.50 GBytes 6.42 Gbits/sec receiver
Ergänzung ()

b4sk schrieb:
7 Gbit/s sind relativ nah an PCIe 3.0 1x (0,97 Gbyte/s - ca 7,76 Gbit/s).
Überprüfe doch mal bitte wie viele Lanes bei beiden Systemen tatsächlich an den Netzwerkkarten anliegen z.B. mit hwinfo.
Dann wäre auch die tatsächlichen Motherboard Modelle und die weitere Hardware interessant, auch CPU und Grafikkarte um zu sehen wie viele PCIe Lanes zur Verfügung stehen und ggf. schon belegt sind.

Ich glaube, du hast den richtigen Riecher gehabt.

Wenn ich HW-Info richtig lese, läuft die Karte im 1x Modus. Stimmt das?

1646305572823.png


Es handelt sich um ein MSI Z690-DDR4 Wifi Board mit Core i7 12700K und einer RTX 2080TI. Die NIC steckt im untersten Slot, da der mittlere von der GPU verdeckt ist. Andere freie Slots gibts leider nicht, die ich verwenden könnte.
 
Zuletzt bearbeitet:
Da die maximale Verbindungsgeschwindigkeit auch bei PCIe 3.0 x1 liegt (8.0 GT/s), ist das gut möglich. Kann aber auch gut sein, dass das Z590 System bzw. die Netzwerkkarte gerade in einem Standbye Zustand ist (obwohl du ja maximale Leistung an hast/ASPM disabled), da dort eigentlich genügend Lanes vorhanden sein sollten (es fehlen noch ggf. NVMe SSDs und andere Geräte die möglicherweise PCIe Lanes belegen in deiner Auflistung).
Ich hätte aber eher das Z390 System vermutet, da 1151v2 CPUs in der Regel nur max. 16x Lanes zur Verfügung haben, wenn durch die andere Hardware keine 4 Lanes mehr übrig sind, kann da auch nicht mehr kommen.
 
  • Gefällt mir
Reaktionen: wegi
Hast Du in beiden Karten mal Jumboframes aktiviert und eingestellt? Mit Jumboframes kommte ich bei Marvel AQtion AQC107 direkt über ein LAN-Kabel per Crossover auf ideale Datenraten. Sobald ein 10Gbit Switch dazwischen ist, nicht mehr.
 
Der untersete Slot beim Z690 PcIe_E4 ist ein x1 Slot, trotz voller Breit. Das wird nix.
 
b4sk schrieb:
Da die maximale Verbindungsgeschwindigkeit auch bei PCIe 3.0 x1 liegt (8.0 GT/s), ist das gut möglich. Kann aber auch gut sein, dass das Z590 System bzw. die Netzwerkkarte gerade in einem Standbye Zustand ist (obwohl du ja maximale Leistung an hast/ASPM disabled), da dort eigentlich genügend Lanes vorhanden sein sollten (es fehlen noch ggf. NVMe SSDs und andere Geräte die möglicherweise PCIe Lanes belegen in deiner Auflistung).
Ich hätte aber eher das Z390 System vermutet, da 1151v2 CPUs in der Regel nur max. 16x Lanes zur Verfügung haben, wenn durch die andere Hardware keine 4 Lanes mehr übrig sind, kann da auch nicht mehr kommen.

So, du hattest Recht. Ich hab die Grafikkarte ausgebaut und die Marvell-NIC in den PCI5 Slot gesteckt und jetzt passen die Werte. :schluck: Danke euch allen für die Hilfe.

Ich hab jetzt halt "nur" noch das Problem, den unteren PCI-E Slot nutzen zu müssen, weil die Graka den anderen verdeckt... ggrrrr

markus@Z690:/mnt/c/Users/marku$ iperf3 -Z -c 10.0.0.1 -P 3
Connecting to host 10.0.0.1, port 5201
[ 5] local 172.31.18.169 port 56114 connected to 10.0.0.1 port 5201
[ 7] local 172.31.18.169 port 56116 connected to 10.0.0.1 port 5201
[ 9] local 172.31.18.169 port 56118 connected to 10.0.0.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 363 MBytes 3.04 Gbits/sec 0 215 KBytes
[ 7] 0.00-1.00 sec 360 MBytes 3.02 Gbits/sec 0 226 KBytes
[ 9] 0.00-1.00 sec 408 MBytes 3.42 Gbits/sec 0 221 KBytes
[SUM] 0.00-1.00 sec 1.10 GBytes 9.49 Gbits/sec 0
Ergänzung ()

Mojo1987 schrieb:
Der untersete Slot beim Z690 PcIe_E4 ist ein x1 Slot, trotz voller Breit. Das wird nix.
Das bestätigt es dann endgültig. Ich hätte echt nicht erwartet, dass das bei einem nagelneuen System und einen 16x Slot so eine Beschränkung existiert. Mein Fehler, das nicht zu prüfen :-/

Danke nochmal für die Hilfe hier!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Skysnake und H3llF15H
wegi schrieb:
Ich hab jetzt halt "nur" noch das Problem, den unteren PCI-E Slot nutzen zu müssen, weil die Graka den anderen verdeckt... ggrrrr

Je nachdem wie viel Wert du aufs aussehen legst und es räumlich möglich ist, könntest du es mit einem Riser Kabel probieren. Sonst bleibt eigentlich nur der Umstieg auf ein anderes Motherboard über (hoffentlich noch in der Widerrufsfrist :D ). Kurze Recherche zeigt, dass es Z690 Boards gibt, wo beide anderen PCIe x16 Slots mit PCIe 3.0 x4 elektrisch angebunden sind und auch generell mehr Platz zwischen 1. und 2. x16 Slot vorhanden ist (z.b. https://geizhals.de/gigabyte-z690-gaming-x-ddr4-a2625098.html?hloc=at&hloc=de )
 
Sowas hier könntest du probieren:
PCIe X4 Riser Kabel

Falls es nicht funktioniert zur Not zurückschicken.
 
wegi schrieb:
Ich hab jetzt halt "nur" noch das Problem, den unteren PCI-E Slot nutzen zu müssen, weil die Graka den anderen verdeckt... ggrrrr
Je nach Gehäuse kannst du dir mit einem Riser Kabel behelfen oder baust gleich die GPU vertikal rein und hast dann Zugriff auf alle Slots.
 
  • Gefällt mir
Reaktionen: metallica2006
Zurück
Oben