Ceci est une ancienne révision du document !
Table des matières
Tuning de performance NFS
Je n'ai pas la prétention d'être exhaustif, je vais juste détailler les solutions que j'ai validé.
Options de montage coté client
- Ajouter les options noatime et nodiratime pour ne pas que le serveur n'ait à modifier (donc écrire) les dates d’accès respectivement aux fichier/répertoires pour chaque accès en lecture effectué.
- Modifier les tailles de rsize et wsize qui spécifient le nombre d'octets de données que le client et le serveur s'échangent pour les requêtes de lecture/écriture. Ces valeurs doivent être multiples de 1024 et la valeur optimale dépendra de votre utilisation. Je suis passé de 8192 a 32768.
Les options de montage coté client sont donc maintenant (montage NFSv3):
rw,hard,intr,nodev,exec,nosuid,rsize=32768,wsize=32768,noatime,nodiratime,vers=3
Augmentation de la MTU
Ayant la chance d'avoir un réseau séparé pour ces transferts NFS j'ai pu augmenter la MTU : passage de la valeur par défaut 1500 a 7200. Pourquoi 7200 ? et bien juste parce que c'est la valeur maximale permise par l'une des cartes réseau sous linux :'(
Pour modifier la MTU temporairement, en remplaçant bien sur eth0 par le nom de votre carte :
ifconfig eth0 mtu 7200
Pour que cette modification persiste au redémarrage, ajouter une ligne “mtu 7200” dans le fichier /etc/network/interfaces dans la secteur de votre carte, comme dans l'exemple ci dessous :
[...] auto eth3 iface eth3 inet static address 192.168.2.1 netmask 255.255.255.0 network 192.168.2.0 broadcast 192.168.2.255 mtu 7200 [...]