[megoldva] NFS lassú 2.7MB/sec ;~(((

Fórumok

Szervusztok!

Már órák óta guglizok, és tesztelgetek, és nem tudok túllendülni. ;~((

A felállás a következő:
FreeBSD szerver, ami NFS szerver
Linux-ok, amik fstab-on keresztül felcsattintják az NFS könyvtárait.

A következőképp néz ki a hálózat:
Routeren közvetlenül a LAN csatikban a két linuxos kliens
Routerre csatlakozik egy Switch és a Switchen van a szerver
Logikailag DMZ-ben tartja a szervert a Router, mert az FTP kívülről is elérhető.

Sebességadatok (mp3-ak és avi/mpeg másolása közben a netspeed_applet szerint):
1. gép
Slackware --> FreeBSD 2.7MB/s
Debian -----> FreeBSD 4.7MB/s

2. gép
Ubuntu -----> FreeBSD 7.9MB/s
PCLinuxOS --> FreeBSD 9.1MB/s

Ezek a max értékek, az átlag kb 4-6 tizeddel alatta volt.

A PClinuxos/Ubuntu gép 3m kábelre van a Routertől, a Deb/Slack gép kb. 25-30m-re, a FreeBSD szerver 25-30m + switch + 3m kábelnyire.

Ugyanazok az fstab sorok vannak:
192.168.Y.X:/server/nfs /mnt/freebsd nfs rw,sync,hard,intr,users,nosuid 0 0

A két Linuxos masina alaplapra, HDD-re (sőt partícióméretekre is!), processzorra, memóriaméretre és PCI-os hangkártyára is megegyezik. Az nfs-utils csomagok is hasonló verziószámúak, bár a slack-en nincs rpc.lockd file, mert annak nem kell.

A memtest szerint az egyik gépen 907MB/s "memóriasebességet" (vagy mit is) mutatott (emlékeim szerint), a másikon 893MB/s-et, de ez sem ekkora különbség (a memóriák egyébként vegyesek), de ennek sem kellene ekkora különbséget generálni.

Valami ötletetek lenne, hogy mivel tudnék jobban beleásni ebbe a problémába?
/mazursky

Hozzászólások

try async sync helyett.
nolock -on is elgondolkozhatsz mountkor.

TCP vagy UDP felett megy? Az NFS udp-vel gyorsabb, mint tcp-vel.

Másik kérdés: hálózati latency mennyi?
---
Sok gyerekkel ellentétben én sose akartam tűzoltó lenni. Lettem helyette informatikus. Nem találjátok ki, hogy mit csinálok nap mint nap...

Valószínű, hogy UDP-n megy, mert a 2049/tcp (NFS standard tcp port?) se a Linux kliensek tűzfalán, se a FreeBSD szerver tűzfalán nincs ilyen portszámra szabály. Valahol azért mégiscsak közlekedik.
Tegnap wireshark-kal nézegettem, de ott egyértelműen NFS-ként jelölte meg, nem TCP vagy UDP csomagként.

Latency-t majd délután mondok, most nem a gép előtt vagyok.
/mazursky

Megoldás:

A Linux kliensek /etc/fstab soraiba ezt kell beletenni:

192.168.Y.X:/server/nfs /mnt/freebsd nfs rw,async,hard,intr,users,nosuid,nolock 0 0

És száll mint a szél, sebesség 12++ MB/sec (csúcs 13.7MB/sec). Az aszinkron átvitel UDP-n keresztül normális sebességgel megy.
A Lock-olást is kikapcsoltam, mert az async előtt ezzel is kísérleteztem, és a 4.2MB/sec-et "javította" 4.7MB/sec környékére.

További beállítás a FreeBSD szerveren történt a /etc/rc.conf -ban:

#rpc_lockd_enable="YES"

sor kikommentezve. Tehát akkor most nincs lock-olás, de mivel leginkább arra használom, hogy a Linux-os *player valami mp*/avi/ogg/etc formátumú file-t lejátsszon, így nem igazán érzi a lock-olás hiányát.

Köszönöm a segítséget.
/mazursky