Bonjour,
Après une semaine de recherches, je me résous à appeler à l'aide : j'ai un
sérieux soucis de performances sur du NFS.
Pour planter le décor :
Un filer, avec des performances en écritures 'correctes' :
# sync && date && dd if=/dev/zero of=test.raw count=2000000 && date && sync && date
mercredi 12 janvier 2011, 17:55:01 (UTC+0100)
1024000000 octets (1,0 GB) copiés, 4,98119 seconde, 206 MB/s
mercredi 12 janvier 2011, 17:55:06 (UTC+0100)
mercredi 12 janvier 2011, 17:55:22 (UTC+0100)
Je note déjà qu'il se passe 16 secondes juste pour le 'sync' de la fin, à voir.
C'est du RAID5 sur une carte Adaptec 3405 mais sans BBU (et donc sans write-cache).
iperf me donne un réseau qui, à première vue, marche bien :
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.06 GBytes 912 Mbits/sec
900 Mb/s sur un lien giga, ok.
Maintenant, ce qui me chiffonne, c'est que les perfs en écriture depuis le même
client sont CA TA STRO PHIQUES :
# sync && date && dd if=/dev/zero of=test.raw count=2000 && date && sync && date
mercredi 12 janvier 2011, 17:57:31 (UTC+0100)
1024000 octets (1,0 MB) copi�s, 27,2681 seconde, 37,6 kB/s
mercredi 12 janvier 2011, 17:57:58 (UTC+0100)
mercredi 12 janvier 2011, 17:57:58 (UTC+0100)
même pas 40 ko/s ??? (la taille du fichier est volontairement réduite)
au niveau des options de montage du partage NFS :
rw,sync,noatime,nodiratime,rsize=8192,wsize=8192,tcp,nfsvers=3
Et j'ai un nombre plutôt importants de threads NFS :
RPCNFSDCOUNT=128
Le MTU est 1500 (un bug driver sur le filer m'empêche de le changer pour le
moment). Pas de routeur entre les deux, juste un switch.
J'ai essayé pas mal de choses : wsize variable (de 1k à 16k), udp au lieu de
tcp, sync/async.
Alors, le filer est monté sur une quinzaine de machines mais ca ne devrait pas
avoir une incidence pareille non ? Je précise que les perfs sont les mêmes sur
tous les clients, ce qui me fait penser à un problème côté serveur.
Bref, si vous avez une piste, je prend tout !
Merci et bonne soirée,
Julien