Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
FAQ
Know How
Testberichte
Hardware-DB
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Netzwerktechnik Forum

Forum Netzwerktechnik (Archiv)

Kategorie Netzwerktechnik - Forum Netzwerkkomponenten

 
Stark asymetrischer Durchsatz TX/RX bei Gbit-LAN

geschrieben am 17.09.2007 um 19:17 von paceman

Hallo liebe Gemeinde.

Ich bin durch das Programm netio auf die Seite des networklab gestoßen und muss sagen, dass die hier erhältlichen Informationen wirklich gut sind. Deshalb versuche ich auch mit meinem Problem hier Hilfe zu bekommen, da ich damit schon in diversen anderen Foren nicht wirklich weiter gekommen bin.

Vor einigen Wochen hatte hatte ich mich nach einer NAS-Lösung umgeschaut, die möglichst noch grundlegende Dienste wie FTP und HTTP bereitstellen sollte. Was aber für mich ein K.O.-Kriterium war, war Gbit-LAN. Schnell hat sich herausgestellt, dass 1000Base-T in der Praxis nicht so einfach zu optimieren ist, wie 100Base-T (falls es da im SOHO-Bereich überhaupt was zu optimieren gibt :)

Durchweg alle NAS-Lösungen erreichten keine für mich befriedigenden Durchsatzraten und an einer NDAS-Lösung war ich wegen der schlechten Skalierbarkeit nicht interessiert. Also beschloss ich mit Restkomponenten eine Custom-NAS-Lösung zusammen zu bauen. Basis hierfür war ein ASUS A7V133, ein XP2000, 1GB-RAM sowie eine Savage4 AGP Grafikkarte. Zusätzlich habe ich mir ein Gehäuse, eine schnelle 250GB ATA133 HD und einen GB-NIC gekauft. Da ich im Vorfeld schon einige Berichte bezüglich der Qualitätsunterschiede gerade im GB-LAN Bereich gelesen hatte, fiel die Wahl auf eine Intel Pro 1000 GT, natürlich als PCI-Version, da das Asus keine schnellere Schnittstelle hergibt.

Sicher, PCI ist nicht das Maß der Dinge, aber ich hatte auch nie das Ziel mit der teilweise veralteten Hardware die Gbit ausreizen zu können. Aber im Gegensatz zu den bei Premade-NAS-Lösungen gängigen ~20 MB/s peilte ich schon einen Durchsatz von 30-40 MB/s an. Rein rechnersich sollte dies doch auch auf einem System mit PCI-Bus möglich sein.

Nachdem ich die Teile geliefert bekommen habe, schraubte ich den PC auch direkt zusammen. Als OS wurde Linux mit aktuellem Kernel aufgespielt. Als Gegenstück diente mein Thinkpad T60 mit XPproSP2, das schon einen Gbit-NIC besaß. Die Strecke wurde mit einem 3m Cat5e FTP-Kabel realisiert; Direktverbindung.

Erste Versuche mit Samba und FTP kamen auf einen Durchsatz von ~20 MB in TX sowie RX. Ok, da ich ja wusste, dass evtl. Optimierungen bei Gbit notwendig sein können, hatte mich das Ergebnis nicht sonderlich abgeschreckt.

Daraufhin schaute ich mich nach Hardware-unabhängigeren Testumgebungen um und bin recht schnell auf die Programme netio und iperf gestoßen. Nun begannen meine eigentlichen Probleme.

Egal welche Tips ich zum Optimieren von Gbit umsetze (RFC1323opt, rwin-tuning, etc.), mein Durchsatz in Senderichtung aus Sicht des NAS kam einfach nicht über ~33 MB/s. In Empfangsrichtung habe ich es schon auf ~60 MB/s geschafft.

Daraufhin folgten Maßnahmen wie:
[list]
Treiber aktuallisieren; Linux wie XP
Linux zu Linux teste mit Knoppix
Umbau der NIC in meinen Arbeits-PC
Neukauf eines Realtek-NIC aus purer Verzweiflung mit selben Ergebnis
...bestimmt noch einige Maßnahmen vergessen zu erwähnen...
[/list:u]

Die CPU-Last ist kaum erwähnenswert. Irgendwann bin ich auf die Idee gekommen mit netio auf dem NAS-System einen internen Test durchzuführen. Sprich Server wie Client auf dem NAS-System laufen lassen. Dieser sollte mir doch eigentlich eine Aussage darüber geben können, welchen Durchsatz der PCI-Bus mit TCP/IP erreichen kann, wenn ich die IP der Netzwerkkarte als Ziel angebe. Denn den Protokollstapel muss das Programm doch durchlaufen und bis zur Netzwerkkarte hin und wieder zurück. Korrigiert mich, wenn ich da einen Denkfehler habe.
Die Ergebnisse waren positiv und verblüffend zugleich.

Hier mal das Ergebnis:

Code:

NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  156608 KByte/s Tx,  213842 KByte/s Rx.
Packet size  2k bytes:  182065 KByte/s Tx,  336501 KByte/s Rx.
Packet size  4k bytes:  194560 KByte/s Tx,  388806 KByte/s Rx.
Packet size  8k bytes:  203476 KByte/s Tx,  449868 KByte/s Rx.
Packet size 16k bytes:  205512 KByte/s Tx,  522389 KByte/s Rx.
Packet size 32k bytes:  195551 KByte/s Tx,  504291 KByte/s Rx.


Ich denke das spricht wieder für sich. Woran liegt dieses asymetrische Verhalten? Liegt es wirklich am PCI-Bus oder vielleicht am Chipsatz? Dagegen spricht aber irgendwie, dass diese Ergebnisse auch auf meinem Arbeits-PC reproduzierbar sind. Dieser hat zwar auch einen VIA-Chipsatz, der aber deutlich neuer ist, als der auf dem A7V133.

Falls noch Fragen offen sein sollte, bitte ich sie zu stellen. Bei all den Maßnahmen die ich schon durchgeführt habe ist nicht auszuschließen, dass ich die eine oder andere Maßnahme vergessen habe zu erwähnen. :)

Regards,
paceman
 

geschrieben am 19.09.2007 um 08:16 von layer8

Wie sieht denn die UDP Verbindung aus, hast du hier Paketverluste?
 

geschrieben am 19.09.2007 um 17:17 von paceman

Naja, bei UDP habe ich in TX wie in RX ~40 MByte/s. Und ob das Paketverluste sind will ich auch mal nicht so stehen lassen. ifconfig zeigt mir jedenfalls keine Fehler (errors/dropped) an.

Regards,
pace
 

geschrieben am 19.09.2007 um 17:45 von layer8

mit
netio -u -<IpNetioServer>
lässt du den Test mit UDP laufen. In Klammern steht hinter dem Durchsatz der Paketverlust.
 

geschrieben am 20.09.2007 um 15:55 von paceman

Hier der Output:



Einen richtigen Zusammenhang kann ich leider nicht treffen, aber vielleicht bringst du mich auf die richtige Spur. :)

Regards,
pace
 

geschrieben am 21.09.2007 um 08:29 von layer8

Ich gehe davon aus, dass bei der TCP Messung Linux der Client war und bei der UDP Messung XP und, dass keine Änderungen an TCP bzw. Kartenparametern vorgenommen werden.

Ich gehe auch davon aus, dass die MTU auf beiden Seiten gleich ist.

* UDP / TCP Durchsatz und UDP Paketverlust
Hier ist ab 16K der Durchsatz bei UDP geringer als bei TCP, wobei UDP einen extrem hohen Paketverlust hast. So einen Fall hatte ich schon. Er wurde durch einen VPN Treiber verursacht. Dadurch kam es dazu, dass die Reihenfolge von fragmentierten UDP Paketen beim Empfang verändert wurde und Netio diese dann verworfen hat.
Bei TCP konnte anscheinend die Netzwerkkarte selbst die Reihenfolge sicherstellen, daher der höhrere Durchsatz.
Zudem hast du ja geschrieben, dass die Karten keinen UDP Verlust zählen.

Schau mal nach zusätzlichen Protokolltreibern und deaktviere diese.

Wie ist die Performance wenn du XP im Abgesicherten Modus mit Netzwerkunterstützung startest?

Seltsam, dass die PCI Karte unter Linux ein Problem hat wenn viele unfragementierte Pakete kommen. Bist du sicher, dass du hier keinen UDP Paketverlust an der Karte siehst?

Bei fragmentierten Paketen kriegt sie die Last ja recht gut weg und der Durhsatz passt ja auch zu PCI 2.0 (oder hast du 2.1?)

Hast du Linuxseitig noch andere PCI Karten stecken mit denen du die Banbreite teilen musst?

Was passiert wenn du die MTU hoch setzt (Vorsicht wenn du einen Switch verwendest)
Schalte mal auf beiden Karten Flow-Control ein (ggf. auch auf Switch)
Verschwindet dann dein Paketverlust bei UDP 1K?

Kannst du testweise dein NB durch eine andere GBIT Hardware ersetzen?
 

geschrieben am 22.09.2007 um 00:07 von paceman

Also, laut Manual hat die Northbridge ein PCI 2.2 Bus-Interface mit 5 Steckplätzen. Mehr ist dazu aus dem Manual nicht herauszukitzeln. Im System steckt nur die Gbit-NIC und eben die AGP-Grafikkarte. Beim Einbau habe ich auch darauf geachtet, dass sich die Gbit-NIC nicht einen IRQ mit einem anderen öfters aktiven Device teilen muss. In meinem Fall teilt sie sich den IRQ mit dem AMR-Slot, der unbelegt ist.

Des Weiteren laufen die Teste nach wie vor unter einer Direktverbindung, wobei ich auch schon das Cat5e gegen normale Cat5 UTP getauscht habe und zurück, ohne irgendeine Veränderung.

Zu den restlichen Tips kann ich im Moment nur nochmal wiederholen, dass ich die Teste auch schon durchgeführt habe, in dem ich von auf beiden Systemen gleichzeitig eine Knoppix-Live-DVD gebootet habe. Also kann es weder an XP auf meinem T60 liegen, noch an einer Fehlkonfiguration des Linux meines NAS-Systems. Interpretiere ich mal so, wobei ich da schlichtweg auf Knoppix vertrauen muss. :)

Mal schaun ob ich dieses Wochenende nochmal die Realtek-NIC von meinem Vermieter bekomme, dann kann ich mal einen Test unter Umgehung des T60 durchführen.

Regards,
pace
 

[ Dieses Thema im Live-Forum aufrufen ]

Sie befinden sich im Archiv des Forums.
Zum Forum

Archiv erstellt mit phpBB2HTML 0.1 - Foren in statisches HTML umwandeln © 2006 Mirko Kulpa

 

 
© 2004-2023, network lab - we make your net work - Netzwerkforum
aktualisiert am 13.05.2019