Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
sysadmin:tuning_nfs [2014/03/24 13:09] james créée |
sysadmin:tuning_nfs [2014/03/24 20:00] (Version actuelle) james ajout network_interfaces dhcp |
||
---|---|---|---|
Ligne 21: | Ligne 21: | ||
Pour modifier la MTU temporairement, en remplaçant bien sur eth0 par le nom de votre carte : <code>ifconfig eth0 mtu 7200</code> | Pour modifier la MTU temporairement, en remplaçant bien sur eth0 par le nom de votre carte : <code>ifconfig eth0 mtu 7200</code> | ||
- | 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 :<code> | + | Pour que cette modification persiste au redémarrage, ajouter une ligne "mtu 7200" dans le fichier /etc/network/interfaces dans la section de votre carte, comme dans l'exemple ci dessous (adresse statique) :<code> |
[...] | [...] | ||
auto eth3 | auto eth3 | ||
Ligne 33: | Ligne 33: | ||
</code> | </code> | ||
+ | <note>Dans le cas ou vous utilisez du DHCP, il faut ruser un peu en ajoutant "post-up /sbin/ifconfig eth0 mtu 7200" dans la section correspondant à votre interface dans le fichier /etc/network/interfaces :<code> | ||
+ | [...] | ||
+ | auto eth3 | ||
+ | iface eth3 inet dhcp | ||
+ | post-up /sbin/ifconfig eth3 mtu 7200 | ||
+ | [...]</code> | ||
+ | </note> | ||
+ | |||
+ | <note important> | ||
+ | * Il faudra que la MTU de chacune des machines d'un même réseau soit la même : il faut donc la changer sur chacune des machines ou sur aucune | ||
+ | * Il faut que le switch du réseau soit capable de gérer des MTU supérieures a 1500 ( "jumbo frames" ) : les switchs recents supportent souvent jusqu'a 9000 | ||
+ | </note> | ||
+ | |||
+ | ===== Problème de Page allocation failure ===== | ||
+ | |||
+ | Suite à l'augmentation de débit réseau des messages "page allocation failure" ont commencé a apparaitre en boucle dans le dmesg et les transferts réseau étaient gelés. | ||
+ | |||
+ | Ce problème apparait pour d'autres drivers que le mien : https://bugzilla.kernel.org/show_bug.cgi?id=12135#c4 | ||
+ | |||
+ | Pour ne plus afficher ce message d'avertissement comme quoi le réseau alloue la mémoire plus vite que le système de mémoire virtuelle ne la réclame : | ||
+ | |||
+ | Pour connaitre votre valeur actuelle (dépend de la quantité de RAM) : | ||
+ | <code>$ cat /proc/sys/vm/min_free_kbytes</code> | ||
+ | |||
+ | Vous pouvez maintenant l'augmenter progressivement jusqu’à ce que le message cesse d'apparaitre en boucle, pour ma part une valeur de 4096 devrait suffire. | ||
+ | <note>Ne bien sur pas diminuer la valeur présente si vous avez deja l'erreur ;p</note> | ||
+ | |||
+ | Pour effectuer le changement temporairement : <code>echo 4096 > /proc/sys/vm/min_free_kbytes</code> | ||
+ | |||
+ | Puis une fois que vous avez la bonne valeur pour que ce changement soit permanent : <code> | ||
+ | # cat <<EOF >> /etc/sysctl.d/90-user-memory.conf | ||
+ | |||
+ | # it is possible to require a minimum number of free pages by setting the vm.min_free_kbytes parameter | ||
+ | vm.min_free_kbytes=4096 | ||
+ | EOF | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Impact sur les performances ===== | ||
+ | |||
+ | En utilisant ces reglages sur le materiel suivant : | ||
+ | * serveur NFS : atom dualcore N330 1.6GHz, 2 Go RAM, carte reseau intel 82541GI Gb | ||
+ | * client NFS : athlon 1800xp, 512 Mo RAM, carte reseau dlink dge 528t Gb | ||
+ | |||
+ | Un rsync sur de gros fichiers lancé sur le client (copie du NFS vers disque local) : passage de 6-7Mo/s a 13,5 Mo/s | ||
+ | Performances brutes copie gros fichier (NFS vers disque local, en utilisant dd) : 40 Mo/s |