Xubuntu 12.04 auf PC: Schlechte Performance mit Realtek NIC

jal2

Active member
Themenstarter
Registriert
7 Sep. 2010
Beiträge
3.730
Hallo,

ich habe hier einen Desktop PC mit zwei NICs:
Code:
04:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
wobei der Realtek der onboard NIC ist. Auf dem PC läuft ein Xubuntu 12.04 mit dem 3.2.0-53-generic 64Bit Kernel. Für den Realtek-NIC ist der r8169, Version 2.3LK-NAPI, geladen, für die Intel-Karte der e1000e, Version 3.2.0-53-generic. Die Internet-Verbindung läuft über einen Router, der per Kabelmodem einen 32/2 MBit/s Zugang hat.

Ein Download per http wird beim Realtek-NIC auf ca. 8-9 MBit/s begrenzt, die Intel-Karte liefert das Maximum von ca. 30 MBit/s. Ein Download lokal auf dem Router (läuft unter OpenWRT) liefert auch ca. 30 MBit/s.

Nun sind Realtek-Karten nicht gerade für ihre Effizienz bzgl. CPU-Last bekannt, aber 32MBit/s sollten sie auf einem Rechner mit Q6600 IMHO doch schaffen.

Wenn ich den Verkehr per Wireshark sniffe, fällt auf, dass die Realtek-Karte häufig zwei TCP-Pakete im Downlink zusammenfasst:
Code:
No.     Time        Source                Destination           Protocol Length Info
     30 4.042494    192.168.2.111         134.109.228.1         TCP      66     42467 > http [ACK] Seq=206 Ack=20521 Win=42304 Len=0 TSval=452846 TSecr=3088128581
     31 4.042502    134.109.228.1         192.168.2.111         TCP      1434   [TCP segment of a reassembled PDU]
     32 4.045109    134.109.228.1         192.168.2.111         TCP      2802   [TCP segment of a reassembled PDU]
     33 4.045130    192.168.2.111         134.109.228.1         TCP      66     42467 > http [ACK] Seq=206 Ack=24625 Win=42304 Len=0 TSval=452846 TSecr=3088128581
     34 4.047402    134.109.228.1         192.168.2.111         TCP      2802   [TCP segment of a reassembled PDU]
     35 4.047422    192.168.2.111         134.109.228.1         TCP      66     42467 > http [ACK] Seq=206 Ack=27361 Win=42304 Len=0 TSval=452847 TSecr=3088128581

während das bei der Intel-Karte nicht passiert:
Code:
No.     Time        Source                Destination           Protocol Length Info
     27 0.004891    192.168.2.105         134.109.228.1         TCP      66     46015 > http [ACK] Seq=1 Ack=24625 Win=15476 Len=0 TSval=691220 TSecr=3091641162
     28 0.005032    134.109.228.1         192.168.2.105         HTTP     1434   Continuation or non-HTTP traffic
     29 0.005231    134.109.228.1         192.168.2.105         HTTP     1434   Continuation or non-HTTP traffic
     30 0.005238    192.168.2.105         134.109.228.1         TCP      66     46015 > http [ACK] Seq=1 Ack=27361 Win=15476 Len=0 TSval=691220 TSecr=3091641167
     31 0.005333    134.109.228.1         192.168.2.105         HTTP     1434   Continuation or non-HTTP traffic
     32 0.005434    134.109.228.1         192.168.2.105         HTTP     1434   Continuation or non-HTTP traffic
     33 0.005441    192.168.2.105         134.109.228.1         TCP      66     46015 > http [ACK] Seq=1 Ack=30097 Win=15476 Len=0 TSval=691220 TSecr=3091641167
Ausserdem werden bei der Intel-Karte die ACK schneller gesendet (0,347ms/0,203ms vs. 2,636ms/2,292ms), wobei die ACK bei der Intel weniger Bytes acken.

Hat jemand eine Idee, an welchen Schrauben (kernel module parameter, TCP windows size, ...) ich drehen kann, damit die Realtek eine bessere Performance zeigt? Die Intel-Karte wollte ich wieder ausbauen.
Kann man bei der Realtek das Zusammenfassen der TCP Pakete abschalten? Der Router sendet immer 1434 Byte grosse TCP Pakete.

EDIT: Wenn es bereits in Ubuntu 11.10 Probleme mit dem r8169 Treiber gab und via linux-backports-modules die Version 3.1 von r8169 (siehe hier) bereitgestellt wurde, warum enthält dann Xubuntu 12.04 die Version 2.3??
linux-backports-modules ist hier leer.
EDIT2: Gerade auf kernel.org gesehen, dass der Kernel 3.11 auch (noch) die Version 2.3LK-NAPI von r8169 enthält. Es gab letztens (seit Release von 12.04) aber viele Änderungen. Da werde ich die Intel-Karte erst einmal drin lassen und bei Gelegenheit mal einen aktuellen Kernel übersetzen und ausprobieren.
 
Zuletzt bearbeitet:
Danke. Ich habe den 3.11 probiert und erst danach gemerkt, dass mein Problem daher rührt, dass der PHY der Realtek sich nur mit 10MBit/s verbindet. Deshalb auch die langsamen ACK. Eventuell hat mein Board einen Hardware-Schaden.

EDIT: Habe es gerade mal unter Win7 probiert. Dassselbe Problem - die Realtek verbindet sich zwar angeblich mit 1GBit/s, schafft im Download aber nur ca. 3MBit/s. Ich tippe jetzt auf die Hardware.
 
Zuletzt bearbeitet:
die ganzen realtek-onboard sind nix.

Lösung: pci-intel-Karte f. 10 euro
 
Ja, ist ja schon drin (PCIe). Blockiert aber einen Steckplatz. Gibt es Desktop-Boards mit non-Realtek NIC onboard?

kauf halt ein dickeres Board m. mehr pci Plätzen; wenn du mit den realtek eh schon Probleme hast.
Die meisten onboard-eth.lan-Schnittstellen sind von realtek ( billigster Kram halt )

bau nur intel-pci-Karten ein. noch nie Probleme damit.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben