22536
Goto Top

Schlechte Performance mit Gigabit Ethernet unter Windows

Trotz RAID5 mit 8 Festplatten nur 30MB/s

Wir möchten für HD-Videoschnitt große Videodateien (HD 1080p unkomprimiert) über 2 mit Gigabit Netzwerkkarten ausgestattete PCs übertragen.

Ausgangssituation:
PC1:
Dual Opteron246
Tyan K8WE Mainboard
Nvidia onboard Gigabit Ethernet
Highpoint 1820A PCI-X Controller
8 SATA Festplatten (je 160GB) im RAID5 Array
Sequenzielle Lesegeschwindigkeit (Sandra): ~300MB/s

PC2:
Athlon64 3500+
Asus A8V Deluxe
Marvell Yukon Gigabit Ethernet
onboard Promise Fast Trak 378 Controller
2 SATA Festplatten (je 300 GB) im RAID0 Array
Sequenzielle Lesegeschwindigkeit (Sandra): ~85MB/s

Betriebssystem auf beiden PCs ist Windows XP Professional SP2

Die Dateien sind auf beiden PCs nicht fragmentiert und liegen in den vorderen Sektoren des Arrays. Es laufen keinerlei Hintergrundprogramme. Beim Kopieren der Dateien über das Windows Netzwerk kommen wir mit beim Messen mit Perfmon lediglich auf 30 MB/s. Zum Testen haben wir auf beiden PCs ein RAM-Laufwerk eingerichtet. Beim Kopieren von RAM-Laufwerk zu RAM-Laufwerk, kommen wir auch nur auf 60 MB/s.

Die Geschwindigkeiten ändern sich nicht, wenn Parameter der Einstellungen der Netzwerkkarten verändert werden oder andere Treiberversionen für die Netzwerkkarten verwendet werden. Deaktivierung von QoS brachte ebenfalls keinen Geschwindigkeitszuwachs. Auch kleinere Dateien werden nicht schneller übertragen.

Seltsamerweise ähnelt die Kopiergeschwindigkeit im Netzwerk von PC zu PC sehr der Kopiergeschwindigkeit einer Datei auf das selbe Laufwerk an einem PC. Dort werden ebenfalls an beiden PCs nur ca. 30MB/s erreicht.

Woran kann das liegen?

Content-ID: 22590

Url: https://administrator.de/contentid/22590

Ausgedruckt am: 26.11.2024 um 09:11 Uhr

16568
16568 01.01.2006 um 23:21:11 Uhr
Goto Top
Was habt Ihr für Netzwerk-Kabel?

CAT5? 7?

Hersteller der Festplatten?


Lonesome Walker
22536
22536 01.01.2006 um 23:45:41 Uhr
Goto Top
CAT5 Netzwerkkabel

PC1 Festplatten: 8x Samsung S1614C

PC2 Festplatten: 2x Seagate ST3300831AS

Wir haben mit noch eben mit NETIO eine Messung durchgeführt und kamen auf Werte um die 110000 KB/s lagen.

Kann das alles vielleicht am Overhead beim SMB von Windows liegen?
16568
16568 02.01.2006 um 01:57:27 Uhr
Goto Top
Hm...

kopiert/transferiert Ihr die Files via Programm oder Explorer?
Wenn das eine zutrifft, dann ma die andere Variante probieren...

Evtl. das ganze mal via Ftp versuchen, vielleicht ist da ein höherer Durchsatz zu merken
(weil TCP/IP verwendet wird, und beim Prog/Explorer vielleicht nicht... ? )


Hm, ich denke nicht, daß da sooo viel verloren gehen dürfte...


Lonesome Walker
superboh
superboh 02.01.2006 um 02:04:09 Uhr
Goto Top
Hi,

also 60 MB/s finde ich ist kein so schlechter Wert. Viel mehr wird man nicht hinbekommen.

Bei Netio werden keine Daten von Platte gelesen, sondern es werden nur "live" erzeugte Datenpakete transferiert.

Bei dem einen Promise-Controller onBoard handelt es sich beim RAID indirekt doch um eine Softwarelösung, welche aber halt in Hardware gegossen ist. Dies bremst auch.

Gruss,
Thomas

*EDIT:
Für Gigabit müsste es eigentlich CAT5e sein.
justmo
justmo 02.01.2006 um 10:55:29 Uhr
Goto Top
und selbst wenn: "Wir haben mit noch eben mit NETIO eine Messung durchgeführt und kamen auf Werte um die 110000 KB/s lagen."

das so stimmt...dann würde die maximale geschwindigkeit 110mb/s auch wenn ihr 1GB lan habt!!! ist doch klar! man kann ja nicht schneller übertragen als die festplatten schreiben können! also firewire netzwerk hätte voll gereicht! (meine meinung)

gigabit ethernet ist doch für (terminal) server oder nicht? wo viele user gleichzeitig dran arbeiten damit alle eine optimale geschwindigkeit haben!
22536
22536 02.01.2006 um 14:49:36 Uhr
Goto Top
Also irgendwie habt ihr uns missverstanden... ich verdeutliche das Problem nochmal:

Wenn wir die Dateien vom RAM-Laufwerk auf die Festplatten schreiben werden laut Perfmon folgende Werte erreicht:

PC1: ~180 MB/s

PC2: ~85 MB/s

Die Schreibgeschwindigkeit der langsamsten Platten ist also mehr als doppelt so hoch, als über das Netzwerk an Daten kommt.

Nur wenn eine Datei auf dem selben physischen Laufwerk hin und her kopiert wird, kommt es zu so schlechten Werten wie 30MB/s. Da ist es ja auch logisch, weil der Festplattenkopf immer hin und herspringen muss um mal hier und mal da zu lesen. Es scheit fast so, als würde der Kopiervorgang mit dem Explorer über das Netzwerk genauso ablaufen, wie der Kopiervorgang mit dem Explorer auf einer Platte. Hier lesen, warten bis am anderen Ende geschrieben ist, Festplattenköpfe neu positionieren, dann wieder ein Stückchen lesen, dann wieder warten, WIEDER neu positionieren ... usw.
justmo
justmo 02.01.2006 um 16:38:37 Uhr
Goto Top
ah! *klick gemacht*

alles klar... habt ihr beide netzwerkkarten im full-duplex mode? sind die einstellungen überhaupt übereinstimmend bei den karten?

.mo
22536
22536 02.01.2006 um 17:06:31 Uhr
Goto Top
Die Karten gehen nur in 1GB wenn auf Autonegotiation gestellt ist. Eine Option für 1 GB gibt es nicht (nur 100MBit und 10Mbit). Alle Einstellungen auf beiden Karten sind gleich. Wie bereits oben erwähnt hat eine Veränderung aller verfügbarer Einstellungen keinerlei Auswirkungen auf die Geschwindigkeit des Dateitransfers.
22536
22536 02.01.2006 um 17:11:51 Uhr
Goto Top
FTP ist im Prinzip eine gute Idee ... nur wollen wir den Transfer der Daten auch für PC-Laien möglich machen. Eine einfache Dateifreigabe oder ein verbundenes Netzwerklaufwerk muss doch eigentlich genügen.
FlorianF
FlorianF 02.01.2006 um 19:44:23 Uhr
Goto Top
Jetzt darf sich mal der Netzwerkdesigner einmischen,
ich hab ne ganz konkrete Vermutung: Die NVidia Karte ist es!

Zur Erklärung:
Der NVidia Gigabit LOM ist auf dem Chipsatz integriert, also vergleichbar mit einer billigen Karte. Alles nur trug und schein, denn im Endeffekt geht die Arbeit also das packen und entpacken der Netzwerkpackete am Prozessor aus und das bremst auch wenn der Prozessor noch so schnell ist. Im Gegensatz dazu hat der Marvel(3COM) einen eigenen Prozessor der extra darauf zugeschnitten ist.
Darum mein Rat:
Kauft in den Rechner mit der NVidia einen guten Gigabitadapter und probiert es mal ich bin mir fast 99% sicher das es schneller gehen wird.
Ach ja kommt jetzt einer an und sagt "Aber beim Benchmark gings doch auch"! Richtig! Liegt dran das die Datenpakete von nem Benchmark nicht der Realität entsprechen und sehr simpel aufgebaut sind. Ein komplexer Datenstrom ist da gleich was ganz anderes.

Ungeachtet dessen, habt ihr die richtlinienbedingten Netzwerkeinstellungen schon mal bearbeitet bzw. angeschaut? (Start->Ausführen->gpedit.msc und da vor allem die QOS Einstellungen und die reservierte Bandbreite auf das Minimum beschränken.

Lasst was von euch hören!

Mit freundlichen Grüßen
Florian Fröhlich
AndreasP
AndreasP 25.01.2006 um 08:35:05 Uhr
Goto Top
Hallo zusammen,
der Thread ist zwar schon ein bissel alt, aber auch mal ein paar Anregungen:
1. Wie sind die Rechner gekoppelt ? Switch ? Cross-Kabel ? Vielleicht macht dieser dicht.
2. Falls ihr die Möglichkeit habt, probiert mal direkt mittels Cross-Link (Allerdings mindestens Cat5E verwenden !)

Welchen Wert meldet denn Sandra beim Netzdurchsatz ?

Die Idee mit dem externen Gigabit-Adapter könnt ihr ausprobieren, ich habe bei mir die Erfahrung gemacht, das der interne Netzadapter in der Regel schneller ist, weil das Zeug nicht über den PCI-Bus (zusätzlich) muss.

Was euch vermutlich weiterbringen dürfte sind Jumbo-Frames. Das Ethernet verwendet im Vergleich zur Geschwindigkeit verhältnismäßig kleine Datenpäkchen. Durch Aktivierung der Jumbo-Frames (Erweiterte Einstellungen in den Hardwarekonfigs der Netzwerkkarten, ist default immer aus), können die Datenmengen der Frames vergrößert werden, dies reduziert dramatisch den Overhead im Protokoll. Google mal, viele sprechen von +50%.
Negativeffekt: Jumboframes sind nicht standardisiert und sehr wenige Switche unterstützen das im Moment. Ausserdem müssen alle Beteiligten am Netzwerkverkehr JumboFrames unterstützen.

Gruß,
A.
22536
22536 25.01.2006 um 12:25:20 Uhr
Goto Top
Die PCs sind wie oben beschrieben ohne Switch direkt mit einem Cat5e Kabel verbunden.
Crossover gibt es bei Gigabit nicht! Die Gigabit Spezifikation legt fest, dass die Karten auf allen Datenleitungen senden und empfangen können müssen.

Mit den Jumboframes haben wir auch herumgespielt. Das Ergebnis: +/- 1 MB/s je nach Einstellung ... nicht wirklich hilfreich.

Die Idee mit den Extra-Ethernet-Karten haben wir leider noch nicht verfolgen können. Aber Du hast mit
"das der interne Netzadapter in der Regel schneller ist, weil das Zeug nicht über den PCI-Bus (zusätzlich) muss."
eigentlich Recht. Genauso ist es auch im Schaltplan von dem Tyan Mainboard angegeben. Die Anleitung zum ASUS-Board schweigt leider darüber.

Die beste Erklärung ist nachwievor die von Florian, dass der NVIDIA-Controller einfach nur die Befehle an den Prozessor weiterleitet, der aber schon mit Lesen und Schreiben vom RAID-Array beschäftigt ist, und deshalb immer wieder unterbrochen werden muss.
Dumm finde ich nur, dass es ein Multiprozessorsystem ist und anscheinend immer wieder der Lese-/Schreibprozess unterbrochen werden muss, damit Daten übers Netzwerk gesendet werden können. Auch wenn die Unterbrechungen so kurz sind, dass Perfmon sie nicht anzeigen kann, gehe ich davon aus, dass es einfach die Menge macht, die dann die Performance runterschraubt.

Im Moment sind wir leider mit anderen Problemen beschäftigt, aber wenn wir noch eine Lösung finden sollten, dann poste ich sie hier.
AndreasP
AndreasP 25.01.2006 um 15:49:37 Uhr
Goto Top
Ich stelle im Moment mein Netz auch gerade um auf Gigabit und bin dabei, die verschiedenen Möglichkeiten zu optimieren. Der Einfluß der CPU ist nicht zu unterschätzen bei den OnBoard Adaptern.
Was mich irritiert, sind eure Ergebnisse nur mit +/- 1 MB bei Jumboframes. Habe im Web Posts gefunden, die von +50% sprachen.

Wenn ich neue Infos habe melde ich mich.

A.
tzippi
tzippi 28.03.2006 um 19:08:16 Uhr
Goto Top
Das Problem liegt an Windows, das bremst alles aus. Ein Switch kann man durch Windows nicht überlasten. Ich habe schon vieles probiert und hatte bisher keine besseren Ergebnisse ob Intel Gb Netzwerkkarte oder onboardcontroller. Wenn der Prozessor nur 3% Last hat beim Kopieren übers Netzwerk oder zwischen 2 Festplatten und duchschnittlich 17% Netzwerkauslastung kannns an nichts anderen liegen. mit ISCSI geht es wesentlich schneller externe Platten anzukoppeln.
Aranha
Aranha 27.11.2007 um 01:31:07 Uhr
Goto Top
Heho!

Ich mache grade die gleiche Erfahrung:

Bin direkt vom Server mit nem Crosskabel (hätt ich mir wohl sparen können) auf meinen Backuprechner gegangen.
Beim Kopieren via Explorer wunderte ich mich über die schlechte Performance, die bei etwas über 100 Mbit Netto liegt.

Als ich dann diesen Thread las, hab ich mir mal die CPU-Auslastung der Rechner angeschaut:
Der Server bleit total cool (Asus DSBF-DE mit Hightpoit-Raid controller mit Intel 82563EB).
Doch die kleine Sempron-gurke mit 50€ Board, wegwerf GBit-Lan und möchtegern-Raid peakt mit der CPU bei 100%.
Hier müssen wohl echt erst die Packete entpackt, und dann noch auf das Softwareraid verteilt werden.

Die Netzwerk-Auslastung pendelt bei beiden zwischen 0 und 20%

Meine zahlen mit einer 1GByte Datei:
Via Lan: 90 sec
Lokal ins Software-Raid: 55 sec (mit 100% CPU-Auslastung)

Ich werde mir als erstes eine schicke CPU holen, denn das Raid gerechne scheint mir ein wesentlicher Faktor zu sein.

Doch hätt ich auch gern eine nette rechnende Netzwerkkarte.

Nun tut sich aber die Frage auf, welche der vielen Netzwerkkarten denn nun wirklich nen kleinen Porzessor mitbringen.
Reicht da ne D-Link für 20€. Wohl eher nicht, oder?
Wie ist's denn mit den Intel-Karten für PCIe 1x (z.B.: Intel® Pro/1000 PT Single Port Server Adapter XP9400PT).
Die hat zwar nen schicken Kühler auf dem Controller sitzen, aber dass der mir die Packete auseinanderpflückt steht ja nirgends drauf.
Die fangen bei 70€ an.

Vielen Dank soweit,
Aranha