Performances NFS

Bonjour à tous,

J’accède aux données présentes sur un SAN via iscsi. J’utilise les système de fichiers cluster GFS2 afin de pouvoir monter plusieurs machines sur le système. Je partage ensuite par NFS. Les serveurs NFS écrivent (via GFS2/iSCSI) à 500 Mo/s alors que les clients NFS plafonnent à 160 Mo/s. Le réseau est en 10Gb/s.

/etc/fstab sur les clients NFS :

J’ai tenté de modifier quantité de variables par sysctl mais rien n’y fait.

net.core.rmem_default = 262144
net.core.rmem_max = 16777216
net.core.wmem_default = 262144
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 262144 16777216
net.ipv4.tcp_wmem = 4096 262144 16777216

Avez-vous des idées pour améliorer les performances NFS ?

Modifier des paramètres à tatons n’a jamais donné de résultats efficace.
Il faut que tu mettes en place des “espions” pour voir ou se trouve le (ou les) points d’étranglement.
Et il peut étre n’importe ou (interface réseau, mémoire, CPU, accès disque …).

Il n’y a aucune surcharge CPU et mémoire sur les clients ou les serveurs. En ce qui concerne les accès disque, GFS2 peut écrire à 500Mo/s donc ce n’est pas le problème. Je cherche donc du côté de limitations du noyau ou de la configuration NFS.

et l’interface réseau, as tu testé ses limites ?

J’ai effectué un test iperf entre un client en machine virtuelle KVM et un serveur NFS : j’atteint 3.34 Gbits/sec, soit le double du débit obtenu avec NFS. Je pense pouvoir me rapprocher davantage de cette vitesse (70 à 80 %).

essaie de voir les écarts entre les 2 config pour affiner tes tests.
Peut étre le système de fichier.

[quote=“piratebab”]essaie de voir les écarts entre les 2 config pour affiner tes tests.
Peut étre le système de fichier.[/quote]

En première lecture j’aurais dit sans doute un engorgement au niveau des I/O des disques, mais vue que tu obtient des perfs intéressantes du côté serveur NFS.

Maintenant autre axe à vérifier/tester la version de NFS, la V4 apporte un mieux en générale.

lorsque tu effectue tests as-tu moyen de vérifier la montée en charge des accès disques sur les différents blocs de ton Gluster ?

Je ne pense pas qu’il y’ait de problème d’I/O puisque j’écris très rapidement en GFS (je précise qu’il s’agit de Global File System et non de GlusterFS). Néanmoins, si vous avez un outil à me proposer pour ce genre de test, je suis preneur.

au niveau disque, tu as smartmontools.

Ah bah ouhais GFS - global file system - et du côté des verrou, le goulot d’étranglement ne se poserai pas à ce niveau ?

Tes tests d’ecritures tu les fait comment ?

Pour comprendre un problème sur une installation plus ou moins complexe c’est tendu sans autre forme d’explication.

Si effectivement entre tes grappes tu conserve une vitesse d’écriture confortable et que le passage à NFS en version 4 ne te permet pas d’accroître sensiblement ta vitesse d’écriture depuis un client, il va nous falloir plus d’informations.

Lorsque je parlé de problème sous-jacent d’I/O au niveau disque il faut impérativement effectuer des tests de charges sur le filesystem mais aussi au niveau hardware.

JE ne suis pas expert de Gluster et ne connais pas plus que ça GFS et GFS2 :confused:

Je fais mes tests avec la commande dd. J’écris des fichiers d’1 gigaoctets. L’export se fait en NFS v4. J’ai obtenu une bonne amélioration avec l’option de montage async mais cela ne ma paraît pas suffisant. J’ai effectué des tests avec sysbench mais je ne sais pas trop comment les interpréter.

T’as lu le man de nfs ?
De mémoire, y’a une grande quantité d’option, possible qu’il y ai des choses à activé pour les grosses demandes de perfs

J’ai déjà lu plusieurs fois le man et ai réussi à améliorer un peu. Il est possible que le manque de performances soit du à la superposition de GFS2 et NFS…