PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Max Durchsatz mit Gigabit Ethernet unter WinXP?


Joeb (Gast)
2009-01-17, 23:46:10
Hallo,

mein Onboard Gigabit LAN Controller schafft leider nur 24 MBytes/s
UDP mit WinSocket2 unter WindowsXP.
Habe mir schon überlegt, ob eine bessere Karte einen wesentlich
höheren Durchsatz schafft. Als Karte habe ich die Intel Pro 1000 GT
empfohlen bekommen.
Kann mir einer von euch bestätigen, dass unter WindowsXP überhaupt
wesentlich höhere Durchsätze mit Gigabit Ethernet möglich sind und
sich somit die Anschaffung einer Karte lohnt?

Gruss

Joeb

Hamster
2009-01-18, 01:52:13
xp limitiert hier nicht.

wie ist deine onboard nic angebunden?
welche kabel verwendest du?
welchen switch?

The_Invisible
2009-01-18, 08:48:25
habe selber im durchschnitt so 50mb/s mit billigen realtek karten bzw über den PCI bus.

dein problem dürfte wohl woanders liegen.

Funky Bob
2009-01-18, 11:02:29
Versuchsmal mti nem eigens aufgesetztem FTP-Server... Das SMB-Protokoll ist nicht das tollste, wenn es auf Durchsatz ankommt.

Joeb (Gast)
2009-01-18, 12:11:49
Sorry für die späte Antwort,

ich teste die Verbindung mit einem Entwicklungsboard für Logikbausteine
(FPGA-DevBoard) und Megabit-Phy. Damit schicke ich mit maximaler
Geschwindigkeit UDP-Packete (UDP-Payload Länge = 1024), die errechnete
Geschwindigkeit müsste bei ca 105 MByte/Sec liegen. UDP ist ja nicht
sicher (Packete können verloren gehen), aber dass die Rate am PC nur
bei 25 MByte/s liegt, ist schon enttäuschend.

Deshalb ja meine Frage: lohnt sich die Anschaffung einer Karte (naja, 25
Euro sind nicht die Welt) und kann ich damit eine wesentlich höhere Rate
erzielen (z.B. 90-100MByte/s).

Habe von der Intel Pro 1000 GT gelesen, dass sie ein Onboard-CPU hat
und den Hauptprozessor wesentlich entlastet. Von einigen Foren habe
ich gelesen, dass Datenraten von 123 MByte/s erreicht werden. Es
wurde aber nicht erwähnt, ob Windows oder Linux (unter Linux sind
sicherlich über 100 MByte/s möglich).

Gruss

Joeb

Joeb (Gast)
2009-01-20, 14:44:24
Der geringe Durchsatz (24MByte/s) lag nicht an meiner Hardware sondern an meiner Software.

Zur Durchsatzmessung habe ich kein Tool verwendet sondern mein Programm eingesetzt (was nutzt mir das Tool wenn ich ja den Durchsatz im Programm benötige). Ich habe die eingehenden UDP-Packete per Windows Event Handling eingelesen. Bei einer Paketgrösse von 1024 Bytes müsste Windows für Raten von um die 100MByte/s etwa 100.000 Events/s generieren (plus alle sonstigen Events unter Windows). Das schafft wohl kaum eine GUI, auch nicht unter Linux.

Deshalb habe ich ein kleines Shell-Programm geschrieben und siehe da: der Durchsatz liegt hier bei 85-90 MByte/s (mit Linux etwa genauso hoch). Soweit ich in div. Foren gelesen habe, ist mit einer besseren Karte (z.B. die Intel Pro 1000 GT) noch höherer Durchsatz möglich.

Um also hohen Durchsatz unter Windows-Applikationen zu erzielen sollte am Besten das async. Model (unter Windows Overlapped genannt) verwendet werden.


Gruss

Joeb

Gast
2009-01-22, 09:58:10
Naja, auch wenn du einen Durchsatz von ~90MB/s schaffst, sollten spätestens hier selbst moderne SATA-Festplatten den limitierenden Faktor darstellen. Die Leute, die über 100MB/s bekommen, fahren vermutlich mit RAID 0 oder 15000k Platten und zwar auf beiden Systemen.

Gast
2009-01-22, 23:18:07
Hallo,

also grundsätzlich limitieren CPU und PCI Bus, je nachdem ob die Karte TCP Offload kann braucht sie etwas weniger CPU-Last.

Die Intel Karte hat den Vorteil, das sie im Fullspeedmodus TCP-Offload kann, können keine anderen billigen Karten.

Bei einem Durchsatz von 24 MB/s ist auch der PCI-Bus nicht das Problem, wird er erst ab etwa 40 MB/s.

Hast du PCI-E, dann nimm eine entsprechende Intelkarte (1000 PT) und es sollte alles besser werden.

Der NDIS 5 Stack von XP reicht für Gigabit aber nicht für mehr, da brauchst du Vista bzw. W2K8.

Eine DC CPU sollte auch vorhanden sein, sonst kriegt der Rechner mit den vielen interrupts Probleme.

Ein UDP Test ist eigentlich sinnlos, da du kein Linux/Unix hast und smit nicht NFS neutzt. Alles was auf Windows Drurchsatz braucht, ist TCP und da wird es Interressanter.

Andere dumme Frage was für einen Switch hast du?

Anbei meine Intel Pro 1000 Server MT schaft ca. 110 MB/s Netto (angebunden an PCI-X).

mfg

Gast
2009-01-22, 23:52:33
Hallo Gast,

vielen Dank für die Infos, werde mir die Intel Pro 1000 wahrscheinlich zulegen. Da meine GraKa aber beide PCI-E1 Slots blockiert, wird's aber nur eine normale PCI. Einen Switch benutze ich nicht, mein Logik-DevBoard wird direkt (3m Kabel) an den PC angeschlossen.

Auf TCP muss ich leider verzichten, ich müsste sonst das TCP Protokoll für meinen Logikchip (FPGA) programmieren. Als Hobby ist das aber viel zu aufwändig. Ethernet-Frames und UDP/ARP dazu sind dagegen sehr einfach zu realisieren.

Gruss

Joeb