[sage] Jemand Erfahrungen mit NFS ueber 10 Gbit/s?
Benedikt Stockebrand
me at benedikt-stockebrand.de
Sat Feb 10 17:58:40 CET 2007
Moin Wolfgang und Liste,
> [...]
> Das 'Dilemma' ist jetzt: Sehr viel mehr als 200 MByte/s kriegen wir
> mit NFS (v4) nicht durch. Auch mit CIFS (aktuelles Samba) und ftp
> wird's nicht mehr. Messen wir dagegen mit netperf, kriegen wir knapp
> 800 MB/s ueber den Draht.
was genau messt Ihr mit netperf? Ich benutze es normalerweise nicht,
aber soweit ich mich erinnern kann, kann man damit wahlweise per TCP,
UDP oder IP/ICMP(?) messen.
> In allen Faellen haben wir Jumboframes enabled. Den Sun-Treiber der
> Karte haben wir auch schon durch den Original-Treiber des
> Herstellers getauscht, damit koennen wir dann auch Jumboframes
> einschalten und das CRC offload der Karte nutzen. Der Durchsatz fuer
> NFS/CIFS/ftp wird damit aber auch nicht besser.
Warum sollte er auch, wenn wie Du schreibst mit netperf auch so 800
MB/s möglich sind?
> - Hat jemand aehnliche Erfahrungen gemacht?
Ständig und in allen denkbaren Zusammenhängen:-(
> - Kann NFS einfach nicht schneller? Oder machen wir einfach einen
> Denkfehler?
Ich denke, Du suchst an der falschen Stelle. Nach dem, was Du
beschreibst, liegt der Engpass vermutlich beim TCP, weil auch FTP
betroffen ist.
Eine Frage vorne weg: Wie hoch ist auf den Maschinen die
CPU-Auslastung während Du testest?
> - Hat jemand Ideen, an was das liegen koennte und wie man's schneller
> kriegt?
Ja, klar: Erstmal gilt die Regel "Einen Network Stack debuggt man
immer von unten nach oben."
Wenn ich jetzt mal davon ausgehe, dass Du netperf nicht mit TCP
eingesetzt hast und im Network Layer die Performance noch stimmt, dann
wäre der nächste Schritt, zum Beispiel mit netcat/socat zu versuchen,
TCP als Performancefresser einzukreisen bzw. auszuschließen. (Als
kleinen Schnellschuss zwischendurch könntest Du auch NFS auf UDP
konfigurieren, aber wenn das nichts bringt, hast Du keine neuen
Hinweise bekommen.)
Wenn es an TCP liegt, kommt als Ursache die Window Size in Frage. Mit
etwas Bastelei kannst Du ein kleines Programmpaar schreiben, bei dem
Du auf der Empfängerseite mit setsockopt TCP_MAXSEG hochsetzen kannst;
wenn sich dieser Wert auf den Durchsatz auswirkt, dann ist das die
Ursache. Falls Du socat auf den Maschinen hast, kannst Du mit
"mss=..." (in Verbindung mit dd) das gleiche erreichen. Wenn damit
das Problem tatsächlich am Window Size liegt, dann musst Du nur noch
herausfinden, wo Solaris da eine Standardvoreinstellung hat, an der
man drehen kann.
Das ist jetzt aber schon reichlich spekulativ; ohne weitere
Informationen kann man hier eigentlich nicht mehr viel weiter sagen.
> Ooops... und grade beim Tippen faellt mir ein: Kann es sein, dass
> 10Gbit Ethernet spezielle Kabel voraussetzt? Wir haben im Labor 3
> Meter Cat5 (koennte auch Cat6 sein) zwischen den beiden Maschinen.
Wenn das das Problem wäre, hättest Du die 800 MB/s nicht messen
können.
Viele Grüße,
Benedikt
--
Benedikt Stockebrand, Dipl.-Inform. http://www.benedikt-stockebrand.de/
"IPv6 in Practice---A Unixer's Guide to the Next Generation Internet"
(Springer, ca. 410 pages, hardcover) now internationally available.
More information about the SAGE
mailing list