kernel-based NFS langsamer als userspace-based NFS

Post Reply
Message
Author
Jumo
Posts: 7
Joined: 08. Feb 2007 15:18

kernel-based NFS langsamer als userspace-based NFS

#1 Post by Jumo »

Hallo.

Ich habe unseren NIS-DNS-DHCP-Fileserver 'geupgradet' von SuSE9.2 auf
SuSE10.3 (=frische Installation)
Dabei hat sich nun herausgestellt, dass NFS seitdem langsamer ist als vorher.
Ich hatte 'natürlich' den kernel-based NFS-server gewählt.
Aber...alle user regten sich auf, dass das neue System langsamer sei, als das
alte System.
Tests ergaben:
kernel-based Kopiertest einer Datei: 200s
userspace-based der gleichen Datei natürlich: 33s
Wie kann das sein?

Also entfernte ich auf dem Server den kernel-based-NFS-server und
tauschte ihn gegen den userspace-based-NFS-server aus:
fein, der Kopiertest ergab auch die 33s. :-)

Aber:
Seitdem scheint der lockd zu spinnen!?
Ich kann keine OpenOffice-Dokumente im write-Modus öffnen, sondern nur
noch read-only!
Skype läuft auch nicht mehr, egal wie oft ich ~/.Skype lösche.
Lock-Files werden wohl nicht mehr erstellt/geschrieben.

Server:
rpm -qa | grep nfs
limal-nfs-server-perl-1.3.2-7
nfs-client-1.1.0-8
yast2-nfs-server-2.15.5-2.1
limal-nfs-server-1.3.2-7
nfsidmap-0.20-21
yast2-nfs-client-2.15.0-25
nfs-server-2.2beta51-290

exports:
cat /etc/exports
/nfs/home 0.0.0.0/0.0.0.0(rw,root_squash,sync)
/nfs/tmp 0.0.0.0/0.0.0.0(rw,root_squash,sync)
/nfs/misc 192.168.33.0/255.255.255.0(rw,root_squash,sync)

Server:
rpcinfo -p localhost
Program Vers Proto Port
100000 2 tcp 111 portmapper
100004 2 udp 686 ypserv
100004 1 udp 686 ypserv
100004 2 tcp 687 ypserv
100004 1 tcp 687 ypserv
100009 1 udp 799 yppasswdd
100007 2 udp 805 ypbind
100007 1 udp 805 ypbind
100007 2 tcp 806 ypbind
100007 1 tcp 806 ypbind
600100069 1 udp 928 fypxfrd
600100069 1 tcp 929 fypxfrd
100005 1 udp 1022 mountd
100005 2 udp 1022 mountd
100005 1 tcp 1023 mountd
100005 2 tcp 1023 mountd
100003 2 udp 2049 nfs
100003 2 tcp 2049 nfs
100011 1 udp 650 rquotad
100011 2 udp 650 rquotad
100011 1 tcp 651 rquotad
100011 2 tcp 651 rquotad
100024 1 udp 32770 status
100024 1 tcp 55256 status
100000 2 udp 111 portmapper
545580417 1 udp 757 bwnfsd
545580417 1 tcp 758 bwnfsd
100021 1 tcp 40242 nlockmgr
100021 3 tcp 40242 nlockmgr
100021 4 tcp 40242 nlockmgr

Client: (z.B. mein Arbeitsplatzrechner)
fstab
server:/nfs/home /net/home nfs defaults 0 0
server:/nfs/misc /net/ttech nfs rw,hard,intr,retrans=5 0 0
server:/nfs/tmp /net/tmp nfs rw,hard,intr,retrans=5 0 0
serverb:/usr/ftp /net/ftp nfs defaults 0 0

Client:
rpm -qa | grep nfs
nfs-utils-1.0.7-36
yast2-nfs-server-2.13.3-12
nfsidmap-0.12-16
yast2-nfs-client-2.13.3-12

Client:
rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32769 status
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100024 1 tcp 33757 status
100021 1 tcp 33757 nlockmgr
100021 3 tcp 33757 nlockmgr
100021 4 tcp 33757 nlockmgr
100007 2 udp 815 ypbind
100007 1 udp 815 ypbind
100007 2 tcp 816 ypbind
100007 1 tcp 816 ypbind
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 914 mountd
100005 1 tcp 918 mountd
100005 2 udp 914 mountd
100005 2 tcp 918 mountd
100005 3 udp 914 mountd
100005 3 tcp 918 mountd

So und nun?
Was versteht man unter der Client-Meldung im logfile:
kernel: lockd: server <name> not responding, time out
kernel: lockd: couldn't create RPC handle for server <name>

Wer kann mir sagen, was zu tun ist?

Danke,
Jumo

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Könnte es eine firewall-Einstellung sein? Was passiert, wenn du auf dem Server selbst ein NFS-Verzeichnis irgendwohin mountest?

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Jumo
Posts: 7
Joined: 08. Feb 2007 15:18

#3 Post by Jumo »

Janka wrote:Könnte es eine firewall-Einstellung sein? Was passiert, wenn du auf dem Server selbst ein NFS-Verzeichnis irgendwohin mountest?

Janka
Keine Firewall, NFS-share nur mittels mount --bind...

Nun habe ich 'vorerst' den kernel-based-NFS-Server wieder installiert, obwohl das Arbeiten dann wieder sehr langsam ist...

Ich bleibe am Ball! Das will ich wissen!

Danke
Jumo

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#4 Post by komsomolze »

Hast Du mal mit den Parametern rsize=...,wsize=... in den fstab experimentiert?
mfg komsomolze

Jumo
Posts: 7
Joined: 08. Feb 2007 15:18

#5 Post by Jumo »

komsomolze wrote:Hast Du mal mit den Parametern rsize=...,wsize=... in den fstab experimentiert?
Nein, habe ich nicht. Könnte man da nicht meinen, dass eine Standardinstallation
ordentlich funktioniert?

Welche Werte setzt man da ein?
Wonach richtet sich das?
(31 user, viele Dateiein, viel Traffic)

Merci
Jumo

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#6 Post by komsomolze »

In der manpage wird rsize=8192,wsize=8192 erwähnt.

Aber eine Verbesserung um Faktor 6?
Welcher Datenrate entsprechen denn die 200s?
mfg komsomolze

Jumo
Posts: 7
Joined: 08. Feb 2007 15:18

kernel-based NFS langsamer als userspace-based NFS

#7 Post by Jumo »

komsomolze wrote:In der manpage wird rsize=8192,wsize=8192 erwähnt.

Aber eine Verbesserung um Faktor 6?
Welcher Datenrate entsprechen denn die 200s?
Folgendes sollte ich zu meinem Test sagen:

- eine lokale ZIP-Datei wird auf ein gemountetes Verzeichnis entpackt:
time -p unzip datei /nach/nfs/folder
Dauer: 200s / ausgepackte Dateien = 144MB (kernel-nfs!)

Der gleiche Vorgang auf ein gemountetes Verzeichnis eines userspace-NFS
dauert hier nur 33s.

- Ein reiner Kopiervorgang einer 183MB großen Datei sieht dabei nahezu
identisch aus:
kernel: 21,69s
user : 20,09s

Beim Kopieren wird nur ein Schreibvorgang gestartet, während beim
Unzippen 1348 files ausgepackt werden und auch so viele Schreibvorgänge
verursachen!

Aber egal wieviele Dateien ich auspacke, dem userspace-based NFS juckt
das nicht. Er ist einfach schneller....

Merci,
Jumo

JGBech

#8 Post by JGBech »

Nicht wirklich konstruktive Hilfe, aber ich kann von mir aus bestätigen, daß samba (=userspace) auch merklich schneller als NFs ist.

Da Samba auch noch Dateirechte und -Besitzer festlegen kann und subjektiv wesentlich unicodefreundlicher ist, habe ich auch für die linux-linux Kommunikation auf samba umgestellt.

Post Reply