# Performanceproblem mit NFS-Server

## sewulba

Hallo...

Habe einen NFS-Server aufgesetzt! Läuft, aber nur sehr langsam. Datendurchsatz ca. 300kB/s. Unter Samba 11MB/s... 

Brauche aber ein NFS, welches mindestens 2MB/s bringt.

Verwendete Hardware: Dual Xeon @ 3.6GHz/800MHz FSB mit 2GB Ram. Reines SCSI160-System.

Woran könnte das liegen, dass NFS sooooo langsam ist.

Sew

----------

## toralf

standardmäßig ist jetzt "sync" aktiv, evtl. mal "async" ausprobieren ? Davon abgesehen _ist_ NFS langsam.

----------

## platinumviper

 *toralf wrote:*   

> Davon abgesehen _ist_ NFS langsam.

 Aber in allen Benchmarks schneller als der IBM LAN Server/MS LAN Manager aka "Samba".

@sewulba: Poste mal Deine config.

platinumviper

----------

## sewulba

 *platinumviper wrote:*   

>  *toralf wrote:*   Davon abgesehen _ist_ NFS langsam. Aber in allen Benchmarks schneller als der IBM LAN Server/MS LAN Manager aka "Samba".
> 
> @sewulba: Poste mal Deine config.
> 
> platinumviper

 

Hier meine /etc/export

```
/var/www/localhost/htdocs 192.168.0.2(rw,no_root_squash)
```

Ich hoffe das hilft weiter!!!

Sew

----------

## nic0000

 *sewulba wrote:*   

> Ich hoffe das hilft weiter!!!

 

nicht wirklich

Poste mal vom Server UND vom Client:

```
rc-update -s
```

```
cat /usr/src/linux/.config
```

```
emerge  portmap nfs-utils -pv
```

Nur vom Client:

Wie du das ganze mountest

@platinviper

habe ich etwas vergessen?

----------

## felicehome

Hast du portmap gestartet (/etc/init.d/portmap start)? Ohne portmap ist nfs quälend langsam.

----------

## Anarcho

Poste mal die folgenden Ausgaben:

(am Client)

rpcinfo -p localhost

rpcinfo -p server

mount

EDIT:

Hier schonmal ein paar allgemeine Tipps beim mounten:

Die folgenden Optionen setzen:

wsize=8192,rsize=8192,nfsvers=3,hard,intr (manchmal hilft auch tcp)

----------

## toralf

 *sewulba wrote:*   

> 
> 
> Hier meine /etc/export
> 
> ```
> ...

 Und wie, siehe "man exportfs":

```
      async  This  option  allows the NFS server to violate the NFS protocol and reply to requests before any changes

              made by that request have been committed to stable storage (e.g. disc drive).

              Using this option usually improves performance, but at the cost that an unclean server restart  (i.e.  a

              crash) can cause data to be lost or corrupted.

              In  releases  of  nfs-utils  upto  and including 1.0.0, this option was the default.  In this and future

              releases, sync is the default, and async must be explicit requested if  needed.   To  help  make  system

              adminstrators  aware of this change, 'exportfs' will issue a warning if neither sync nor async is speci-

              fied.

```

----------

## nic0000

 *toralf wrote:*   

> Und wie, siehe "man exportfs":
> 
> ```
>  
> 
> ...

 

Ich glaube nicht das es daran liegt, denn bei mir sind die heimverzeichnisse auf sync gemountet und ich habe 5MB/Sek bei eher Lowend-Hardware (100mbit Netzwerk und ein p3 450Mhz mit 45GB HDD auf UDMA2 als Server-Krücke)

Aber dieses WE stelle ich um Via-Epia mit 1Ghz *freu*

----------

## Anarcho

Also zu spitzenzeiten habe ich über GBit Netzwerk mittels NFS ca. 45 MB/s bekommen und das auch mittels sync.

Wie schon gesagt, manchmal scheint die TCP-Variante schneller zu sein, auch wenn das ungewöhnlich ist da im lokalen Netz in der Regel kein Paket verloren geht und somit UDP eindeutig im Vorteil ist.

----------

## nic0000

 *Anarcho wrote:*   

> Also zu spitzenzeiten habe ich über GBit Netzwerk mittels NFS ca. 45 MB/s bekommen.

 

Boah.. So schnell sind ja noch nicht mal meine Lokalen Platten...

----------

## toralf

 *nic0000 wrote:*   

>  *Anarcho wrote:*   Also zu spitzenzeiten habe ich über GBit Netzwerk mittels NFS ca. 45 MB/s bekommen. 
> 
> Boah.. So schnell sind ja noch nicht mal meine Lokalen Platten...

 Vielleicht waren die Daten ja im Cache ?

----------

## nic0000

 *toralf wrote:*   

> Vielleicht waren die Daten ja im Cache ?

 

Nee, der Knabe hat sicherlich ein schickes RAID mit einen Server der den Namen auch verdient.

Ich habe nur alles alten Schrott der auf stromsparen getrimmt ist.

Aber obwohl das so ein alter Schrott ist, kriegt er mehr hin als die Besagten 1MB/s über NFS.

----------

## Anarcho

 *nic0000 wrote:*   

>  *toralf wrote:*   Vielleicht waren die Daten ja im Cache ? 
> 
> Nee, der Knabe hat sicherlich ein schickes RAID mit einen Server der den Namen auch verdient.
> 
> Ich habe nur alles alten Schrott der auf stromsparen getrimmt ist.
> ...

 

1. Aus dem Knabenalter bin ich raus

2. Leider kein Raid

3. Naja, ist ein Athlon 2000+ mit 2x250 GB SATA Platten (die schaffen ca. 55 MB/s laut hdparm)

Da die Platten jetzt alle verschlüsselt sind schaffe ich nur noch 14MB/s übers Netz.

----------

## ixo

Ich schaffe hier auf einem Server mit Celeron 466 locker 10-11MByte auf einem 100MBit Netz. Ich verwende (wie schon oben erwähnt), auch nfs3.

Liegt es vielleicht an dem Netzwerk? Was bringt denn ftp für Werte?

----------

## sewulba

 *Anarcho wrote:*   

> Poste mal die folgenden Ausgaben:
> 
> (am Client)
> 
> rpcinfo -p localhost
> ...

 

Vorab: Der Client ist ein PowerMac Dual G5 mit MacOS X Tiger...

rpcinfo -p localhost ging nicht...

```
rpcinfo -p localhost

rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
```

rpcinfo -p 192.168.0.1 bringt folgendes zum Vorschein:

```
rpcinfo -p 192.168.0.1

   program vers proto   port

    100000    2   tcp    111  portmapper

    100000    2   udp    111  portmapper

    391002    2   tcp   1021

    100024    1   udp  32769  status

    100024    1   tcp  38920  status

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100021    1   udp  32770  nlockmgr

    100021    3   udp  32770  nlockmgr

    100021    4   udp  32770  nlockmgr

    100005    1   udp    757  mountd

    100005    1   tcp    760  mountd

    100005    2   udp    757  mountd

    100005    2   tcp    760  mountd

    100005    3   udp    757  mountd

    100005    3   tcp    760  mountd
```

mount folgendes:

```
mount

/dev/disk0s3 on / (local, journaled)

devfs on /dev (local)

fdesc on /dev (union)

<volfs> on /.vol

/dev/disk0s5 on /Volumes/Proggies (local, journaled)

/dev/disk0s7 on /Volumes/Auslagerung (local, journaled)

/dev/disk0s9 on /Volumes/Daten (local, journaled)

automount -nsl [186] on /Network (automounted)

automount -fstab [191] on /automount/Servers (automounted)

automount -static [191] on /automount/static (automounted)

sewulba.homelinux.org:/var/www/localhost/htdocs on /Volumes/sewulba.homelinux.org (nodev, nosuid, mounted by ruedi)
```

Ergänzend n och ein Auszug aus meiner .config des Kernels:

```
cat /usr/src/linux/.config |grep 'NFS' 

CONFIG_NFS_FS=y

CONFIG_NFS_V3=y

# CONFIG_NFS_V3_ACL is not set

# CONFIG_NFS_V4 is not set

# CONFIG_NFS_DIRECTIO is not set

CONFIG_NFSD=y

CONFIG_NFSD_V3=y

# CONFIG_NFSD_V3_ACL is not set

# CONFIG_NFSD_V4 is not set

# CONFIG_NFSD_TCP is not set

# CONFIG_ROOT_NFS is not set

CONFIG_NFS_COMMON=y
```

Sew   :Confused: 

----------

## sewulba

 *ixo wrote:*   

> Ich schaffe hier auf einem Server mit Celeron 466 locker 10-11MByte auf einem 100MBit Netz. Ich verwende (wie schon oben erwähnt), auch nfs3.
> 
> Liegt es vielleicht an dem Netzwerk? Was bringt denn ftp für Werte?

 

Mein FTP-Server und auch Samba bringen immer mindestens 98% der Geschwindigkeit meines Netzwerks!!!

Sew   :Laughing: 

----------

## Anarcho

Also wie es aussieht hast du keinen Portmapper laufen (Falls es sowas bei MacOS X gibt, müsste aber). Versuch mal den zu starten. 

Ansonsten kannst du mal testen ob es per TCP besser geht und auch wsize und rsize solltest du setzen (siehe oben).

----------

## sewulba

Okay... Ich werde es als bald als möglich ausprobieren!  :Smile: 

----------

## ixo

Wenn der portmap Deaemon nicht läuft, dauert das Mounten sehr lange (hatte ich auch mal so). Der nfs-Traffic an sich wahr unabhängig vom portmapper wie gewohnt schnell.

Aber Starten des portmap Daemons ist auf jeden Fall eine richtige Maßnahme.

----------

## sewulba

Das mounten geht sehr schnell... Nur der Datentransfer ist elendlich lahm... Werde es aber mal mit dem starten vonPortmap auf dem Client versuchen!!!

----------

