Mein nfs-server ist beim schreiben schnell und beim lesen sehr langsam

wudu

New Member
Hallo,

ich habe meinen Server von Slackware auf OpenBSD 4.5 umgestellt.
Der Server ist mit meinem Desktop jeweils mit einer 2ten Gigabit-Netzwerkkarte verbunden.

Auf dem Server hab ich nun ein nfs-share, auf das ich lesend wie schreibend zugreifen möchte. Anfangs musste ich nur schreibend darauf zugreifen, wobei ich Übertragungsraten zwischen 30 und 40 MB/s hatte, wodurch ich geglaubt habe alles funktioniert wie es soll, bis ich dann festgestellt habe, dass die Übertragungsrate beim lesenden zugriff unter 100 KB/s liegt.

Ich kann mir nicht vorstellen woran es liegen kann, dass die Lesezugriffe so extrem langsam sind.
 
Überprüfe erst mal, ob es wirklich an NFS liegt und nicht evtl. ein Netzwerkproblem sein könnte (ich hatte ähnliches Phänomen mal mit einer Marvel Onboard-Netzwerkkarte...letztendlich war der Netzwerktreiber (Windows Vista) dran schuld welcher jedes mal nach dem Standby-Modus die Performance versaut hat).

Netzwerkperformance z.B. mit "iperf" testen und Festplattenperformance z.B. mit "bonnie++".

Wenn du das Netzwerk selbst und auch die Plattenperformance ausgeschlossen hast, dann ist das ganze wirklich komisch.

Was läuft auf dem Desktop für ein System? Stimmt dort die Plattenperformance auch?
 
Was ist denn das Client-OS? Bei NFS habe ich auch schon "interessante" Performancewerte in gemischten umgebungen gesehen. Da die implementierungen unterschiedlich sind gibt es da manchmal Reibereien in gemischten umgebungen die sich aber meist durch setzen der entsprechenden Parameter richten lassen.
 
Also, mein Desktop ist ein Arch Linux, und vor dem Umstieg von Slackware auf OpenBSD hatte ich in beiden Richtungen Raten ab 20MB/s.

Habe mal auf dem Desktop einen nfs-Server eingerichtet, da ergaben sich:
lesen ca. 15MB/s
schreiben ca. 7MB/s

iperf machte in mehren Durchgängen zwischen 34,8 und 35,1 MB/s

bonnie++ ergab folgendes:

Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
server 2G 23673 78 24741 34 8091 4 20657 92 55957 25 92.1 0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 1762 20 +++++ +++ 3630 22 1862 20 +++++ +++ 3533 20
 
Gerade bekam ich noch ne Fehlermeldung entgegengeschleudert, als ich auf dem Server den Test-export des Desktops ausgehängt habe:

Bad MNT RPC: RPC: Program/version mismatch; low version = 3, high version = 3
 
Diese Meldung ist eigentlich recht unkritisch. Sagt eigentlich afaik nur dass NFSv3 geforced wird.
Du kannst allerdings mal probieren die Blockgröße zu ändern. BSD und Linux über NFS fand ich immer schon etwas seltsam vielleicht hilft das ja was.
In der /etc/fstab:

rw,intr,nfsv3,-a=4,-w=32768,-r=32768

oder -r 32768 -w 32768 wenn du per cli mountest.
 
Ok, das war die lösung, also die optionen heissen unter linux anderst, nachdem ich in der fstab bei den optionen rsize und wsize auf jeweils 32768 gesetz hab, ist die lesegeschwindigkeit auf 20-30MB/s angestiegen.

Mich würde interessieren was er da als default verwendet hat weil der Unterschied von unter 100KB/s und 20MB/s ist ja schon enorm.

Also, vielen Dank den postern
 
Na wunderbar ;-) war mal so ins Blaue geraten meinerseits weil ich es auch bereits öfter mal hilfreich fand. Wenn ich mich recht entsinne verwendet Linux deutlich kleinere Blöcke und BSD hat damit Performanceprobleme
 
Zurück
Oben