Gigabit-LAN Preformance

pace

New member
Themenstarter
Registriert
23 Feb. 2007
Beiträge
82
Aloha!

Vor ein paar Tagen habe ich mir überlegt, was ich mit meinen alten PC-Komponeten anstellen könnte. Da sich der Verkauf eher weniger lohnen würde, hatte ich beschlossen einige Komponenten hinzu zu kaufen und mir ein Custom-NAS-System zu basteln.

Obwohl es ein System auf PCI-BUS/ATA100 Basis sein würde, hatte ich mich für ein Gigabit-LAN Adapter von Intel entschieden und mir zudem eine recht flotte 250GB ATA133 HD dazu gekauft. Das System hat 1GB RAM, einen XP2000 auf einem A7V133 und läuft unter der aktuellsten Linux Kernel Version.

Obwohl mich schon theoretisch eine Weile mit Gigabit-LAN beschäftige, war dies dann, im Zusammenspiel mit meinem T60 (XPpro), mein erstes reelles Gigabit Netzwerk. Also habe ich als erstes schlichtweg einige große Dateien hin und her geschoben. Gut, ohne jegliche Optimierung und unter Berücksichtigung des PCI Bussystemes auf dem NAS, komme ich immerhin auf ~20% von 1000 Mbit, laut Windows Netzwerkanzeige. Akzeptabel, wie ich finde.

Daraufhin habe ich mich daran gemacht, etwas unabhängigere Messungen durchzuführen. Dazu nutze ich die Programme netio und iperf.

Und nun kommt das Verwunderliche. Mit netio komme ich aus Sicht des T60 einfach nicht auf einen höhren Empfangsdurchsatz als ~34MB/s, während ich den Sendedurchsatz durch div. Anpassungen schon auf stabile ~70MB/s bekommen habe. Ähnliche Werte erhalte ich mit iperf, dass standardmäßig einen Zeitraum von 10 Sekunden überwacht. In Senderichtung komme ich auf satte 800MB, während die Empfangsrichtung bei etwa 300MB rumdümplet.

Dann habe ich auf dem T60 mal eine Linux Live CD gebootet um einen Konfigurationsfehler bei XP auszuschließen. Und tatsächlich, die Ergebnisse deckten sich mit denen unter XP! Daraufhin habe ich die 1000Mbit NIC in meinen Arbeits-PC eingebaut. Zwar ebenfalls PCI, aber etwas neuere und schnellere Komponenten. Aber die Ergebnisse deckten sich ebenfalls mit den vorherigen.

Nun komme ich nur auf 2 Ideen, woran dieses asynchrone Verhalten liegen könnte:

  • Der PCI-Bus ansich verursacht dieses Verhalten (warum auch immer?)
  • Das T60 verursacht dieses Verhalten (über die internen Bussysteme des T6ß weis ich allerdings nicht sonderlich gut drüber bescheid)
Deshalb möchte ich mal anfragen, welche Werte euer (falls vorhanden) Gigabit-netzwerk mit dem T60 erreicht. Idealerweise wären Ergebnisse mit o.a. Testprogrammen von Vorteil, aber auch allgemeine Erfahrungswerte interessieren mich.

Regards,
pace
 
Das könnte auch eine ganz einfache Erklärung haben: Beim Senden kann dein T60 einfach von der Festplatte lesen, beim Empfangen muss es auf selbige schreiben.
 
Netio nutzt afaik nicht einmal den RAM, bei iperf weis ich es nicht genau. Aber Fakt ist, beide Programme lesen nicht von Festplatte, noch schreiben sie darauf.

Wo wir bei den Komponeten sind, weder auf dem T60, noch auf dem XP2000 sind während Transfers, noch während der Testprogramme enorme CPU-Lasten erkennbar. Das liegt aber wohl an den doch etwas höherwertigen NICs von Intel.

Regards,
pace
 
Test mit iperf:


Server: PC, Client mein T43:
Code:
------------------------------------------------------------
Client connecting to server, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local client port 36139 connected with server port 5001
[  3]  0.0-10.0 sec  1.10 GBytes    942 Mbits/sec

Server: mein T43, Client der PC:
Code:
------------------------------------------------------------
Client connecting to server, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local client port 37553 connected with server port 5001
[  3]  0.0-10.0 sec  1.09 GBytes    937 Mbits/sec

Einfach jetzt out of the box probiert, dazwischen sind 2 DLink Switche.
 
Nicht übel. :)

Ist die Netzwerkkarte in deinem PC on board oder nutzt du eine separate Netzwerkkarte?
Falls sie on board ist, würde mich das Modell interessieren.

Es wäre wirklich super von dir, wenn du noch netio testen würdest. Ist letztendlich auch nur eine Shell-App.

Regards,
pace
 
Im T43 naturgemaess:
Code:
Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11)

im PC:
Code:
nVidia Corporation MCP61 Ethernet (rev a2)
Das ist die im Chipsatz GeForce 6100 / nForce 430 integrierte Netzwerkkarte.
 
Achja :) Netio vergessen.

PC als Client, Notebook als Server, UDP:
Code:
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel

UDP connection established.
Packet size  1k bytes:  101084 KByte/s (5%) Tx,  112430 KByte/s (0%) Rx.
Packet size  2k bytes:  111079 KByte/s (1%) Tx,  114000 KByte/s (0%) Rx.
Packet size  4k bytes:  115025 KByte/s (1%) Tx,  112914 KByte/s (0%) Rx.
Packet size  8k bytes:  113448 KByte/s (3%) Tx,  115343 KByte/s (0%) Rx.
Packet size 16k bytes:  114906 KByte/s (1%) Tx,  116058 KByte/s (0%) Rx.
Packet size 32k bytes:  114929 KByte/s (1%) Tx,  116625 KByte/s (0%) Rx.
Done.

PC als Client, Notebook als Server, TCP:
Code:
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  113814 KByte/s Tx,  109024 KByte/s Rx.
Packet size  2k bytes:  104434 KByte/s Tx,  111010 KByte/s Rx.
Packet size  4k bytes:  111716 KByte/s Tx,  111662 KByte/s Rx.
Packet size  8k bytes:  112721 KByte/s Tx,  111777 KByte/s Rx.
Packet size 16k bytes:  111256 KByte/s Tx,  108784 KByte/s Rx.
Packet size 32k bytes:  113308 KByte/s Tx,  112556 KByte/s Rx.
Done.

Den umgekehrten Weg spare ich mir mal hier im Posting, wie schon zu erwarten sind die Ergebnisse wie erwartet quasi identisch...
 
Danke für deine Mühe! Dass dein Durchsatz deutlich höher ist, liegt wohl an der schnelleren Anbindung des NICs an den Chipsatz bei deinem PC.

Nur warum bei meinem PC die Sendeleistung so verhältnismäßig gering ist, will sich mir noch nicht so richtig erschließen. ?(

Regards,
pace
 
Du suchst an der falschen Stelle, die Intel-Gigabit-Karte war vom Ansatz her schon richtig.
Das "Stottern" dürfte am lahmen VIA-Chipsatz vom AsusTek A7V133 liegen, die alten VIA-Chipsätze waren berüchtigt für ihre schlechte PCI-Bus Performance.
 
Ah, hatte das mit dem Board-Typ gar nicht gesehen... Koennte gut die Ursache sein :)
 
Original von Ruebezahl
Du suchst an der falschen Stelle, die Intel-Gigabit-Karte war vom Ansatz her schon richtig.
Das "Stottern" dürfte am lahmen VIA-Chipsatz vom AsusTek A7V133 liegen, die alten VIA-Chipsätze waren berüchtigt für ihre schlechte PCI-Bus Performance.

Das es am Chipsatz liegt, wage ich nicht auszuschließen. Aber ich muss meinen Eingangspost noch um einige Faktoren erweitern.

Zum einen habe ich die NIC auch in meinen Arbeits-PC eingebaut. Der basiert zwar auch auf einem VIA Chipsatz, allerdings schon auf dem P4M800/8237R. Zudem habe ich die NIC mal just4fun in einen noch älteren PC mit 440BX Chipsatz eingebaut. Überall das gleiche Symptom. RX ist mehr als doppelt so hoch wie TX.

Spaßeshalber habe ich mir noch von meinem Vermieter eine GBit-NIC mit Realtek-Chipsatz ausgeliehen. Die Gesamtpreformance war zwar etwas geringer, allerdings bestand das o.a. Symptom immernoch! :evil:

Der letzte Test der noch aussteht wäre ein Test der PCI-NICs untereinander, sprich ohne das T60. Aber ich musste die Realtek-NIC erstmal wieder zurückgeben. Wenn ich sie nochmal bekomme, werde ich das mal testen.

Noch ein kleiner Nachtrag:
Folgendes habe ich zwar schon neulich ausprobiert, aber vergessen in der Hitze der ganzen Teste mit anzugeben. Und zwar habe ich Server wie Client von netio local auf dem A7V133 System ausgeführt. Einmal mit dem Ziel localhost, das andere Mal mit dem Ziel der lokalen IP des Netzwerkadapters. Die Ergebnisse sind fast identisch, daher habe ich hier nur den Output von localhost gepostet.

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

TCP connection established.
Packet size  1k bytes:  173888 KByte/s Tx,  247035 KByte/s Rx.
Packet size  2k bytes:  195091 KByte/s Tx,  372023 KByte/s Rx.
Packet size  4k bytes:  204226 KByte/s Tx,  446540 KByte/s Rx.
Packet size  8k bytes:  208850 KByte/s Tx,  492629 KByte/s Rx.
Packet size 16k bytes:  209192 KByte/s Tx,  543906 KByte/s Rx.
Packet size 32k bytes:  191935 KByte/s Tx,  519296 KByte/s Rx.
Done.

Regards,
pace
 
Da du nichts von einem Gigabit-Switch schreibst, nehme ich an daß du die Rechner per Crossover- oder Patchkabel (ist bei Gigabit sowieso egal) direkt verbunden hast.
In dieser Konstellation gewinnt bei Ethernet aufgrund des CSMA/CD-Verfahrens immer der stärkere Rechner.
Da das komplett in Hardware abläuft, bekommt die Meßsoftware außer den steigenden/fallenden Transferwerten nichts davon mit.
Nimmt man z.B. bei 2 Netzwerkkarten eines Herstellers die endlos laufende Diagnose-Software, sieht man die Verschiebung von anfänglich 50/50 zu 65/35 oder ähnlichem.

Gegen localhost zu messen ist Unfug, dann kannst du auch gleich nachmessen, wie schnell sich 10GB nach /dev/null kopieren lassen.
 
Wiso sollte das Unfug sein? Das virtuelle Device wird wohl in der gleichen OSI-Schicht wie die Netzwerkkarte angesiedelt sein. Das heißt gleichzeitig auch, dass das Device auch über TCP/IP angesprochen wird und auch die Messwerte daran ermittel werden. Die nahezu identischen Ergebnisse der Ziele localhost, sowie der IP der Netzwerkkarte lassen zumindest darauf schließen. Den Vergleich mit dev/null kann ich daher garn icht nachvollziehen.

Und zu deinen angesprochenen Unterschiede der Messergebnisse kann ich mich nur wiederholen. Die TX-Preformance ist konstant schlecht, egal wie viele Wiederholungen ich durchführe.

Regards,
pace
 
  • ok1.de
  • thinkstore24.de
  • ok2.de - Notebook Computer Server
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben