Hallo,
ich habe hier einen Desktop PC mit zwei NICs:
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:
während das bei der Intel-Karte nicht passiert:
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.
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)
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
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: