Gute NFS-Konfiguration für Heimnetzwerke (NFS-Leistungsprobleme)

3291
dmcer

Ich habe ein kleines LAN, das ein paar Linux-Boxen (Ubuntu 9.10) mit NFS-Freigaben enthält. Die Boxen sind mit einem Netgear-Router für Endverbraucher (Modell WGR614V9) und mit Kabelverbindungen vernetzt.

Beim ersten Einrichten der NFS-Freigaben fiel mir auf, dass die Leistung ziemlich schlecht war. Es würde beispielsweise einige Minuten dauern, um Daten mit einem Wert von 40 MBit / s von einer gemounteten NFS-Freigabe auf die lokale Festplatte zu kopieren.

Durch das Herumspielen mit der NFS-Konfiguration konnte ich die Dinge einigermaßen gut laufen lassen. Die Konfiguration, die ich für das System festgelegt hatte, das die Freigabe exportierte, lautete:

# /etc/exports On the machine exporting the NFS share: /exprt/dir client.ip (rw,async,no_root_squash,no_subtree_check) 

Für den NFS-Client habe ich

# /etc/fstab server.ip:/exprt/dir on /imprt/dir type nfs (rw,noatime,rsize=32768,wsize=32768,timeo=14,intr) 

Auch wenn dies für mich einigermaßen gut zu funktionieren scheint, scheint es dennoch schneller zu sein, Dateien von einem System auf das andere zu kopieren, scpals dies mit NFS geschieht.

Ich dachte, es lohnt sich zu fragen, welche NFS-Konfigurationen andere Personen in ähnlichen Netzwerkkonfigurationen verwenden, was zu einer relativ guten Leistung führt. Ich weiß, dass NFS sehr empfindlich auf Dinge wie die Wahl des Betriebssystems und die genaue Netzwerkkonfiguration reagieren kann. Ich vermute jedoch, dass die Einrichtung, die ich habe, eine relativ häufige Menge ist, die andere Benutzer mit kleinen lokalen Netzwerken haben. Es wäre daher nützlich zu erfahren, welche Konfiguration für sie am besten geeignet ist.

3

1 Antwort auf die Frage

0
user23307

NFS sollte SSHFS leicht übertreffen. Können Sie bestimmte Zahlen angeben?

wenn Sie auf Ihrem Server laufen ..

dd if=/dev/zero of=test.a bs=1M count=100 dd if=/dev/zero of=test.b bs=1M count=100 

dann kannst du tun

dd if=/imprt/dir/test.a of=/dev/null dd if=/path/to/sshfs/mount/dir/test.b of=/dev/null 

und die Ausgabe posten?

Vielleicht möchten Sie auch die Freigaben unter / export exportieren und autofs mit auto.net auf den Clients verwenden. Das bedeutet, dass alle Maschinen im LAN dieselbe Pfadstruktur von / net / $ hostname / export / foo verwenden.

Ich habe mir nur die Leistung von SCP vs. NFS angesehen, nicht SSHFS vs. NFS. Vielen Dank für den Hinweis auf SSHFS. SSHFS ist für die Remote-Montage von Boxen hilfreich. dmcer vor 14 Jahren 0
oh mein schlecht .. die leistung von sshfs sollte mit dem übereinstimmen, was du mit scp sowieso siehst :-) user23307 vor 14 Jahren 0
Interessanterweise ist NFS mit der aktuellen Konfiguration ungefähr gleich hoch wie SSHFS. NFS: dd wenn = NFSmnt / test.a von = / dev / null 104857600 Bytes (105 MB) kopiert, 8,95725 s, 11,7 MB / s SSFS: dd wenn = SSHFSmnt / test.b von = / dev / null 104857600 Bytes ( 105 MB) kopiert, 9,14158 s, 11,5 MB / s dmcer vor 14 Jahren 0
Interessant in der Tat. Können Sie einen wiederholbaren Test finden, der das zuerst beschriebene Problem reproduziert? user23307 vor 14 Jahren 0
Ich vermute nicht, da scp etwa so schnell ist wie SSHFS (~ 9 s). Sollte NFS jedoch nicht schneller als SSHFS sein, da es nicht zusätzlich die Verschlüsselung der über das Netzwerk gesendeten Daten erledigen muss? dmcer vor 14 Jahren 0
In den Zahlen, die Sie zeigten, war NFS schneller, allerdings nur um 0,2 Sekunden. Die Raten, die Sie erhalten, zeigen an, dass Sie eine 100-MBit-Verbindung maximal ausnutzen, also ist Ihr Flaschenhals das und nicht NFS oder SSH. user23307 vor 14 Jahren 2
Ich fand das Tuning von NFS entweder viele kleine Dateien oder ein paar große Dateien mit deaktiviertem Puffer. Der Versuch, beide gleichzeitig zu versuchen, verursachte viele Konflikte. Ich ging auch zu gebundenen Gig-E-Verbindungen und hatte viele Spindeln auf meinem NFS-Server. memnoch_proxy vor 14 Jahren 0