web-dev-qa-db-fra.com

NAS Performances: NFS vs Samba vs GlusterFS

Je prévois ma nouvelle infrastructure de stockage partagé pour une petite batterie de serveurs Web. Par conséquent, j'ai effectué de nombreux tests avec beaucoup de systèmes de fichiers NAS. Ce faisant, j'ai obtenu des résultats inattendus et j'aimerais savoir si quelqu'un ici peut le confirmer.

En bref: Samba est extrêmement plus rapide que NFS et GlusterFS pour les écritures de petits fichiers.

Voici ce que j'ai fait: j'ai exécuté un simple "benchmark rsync" avec beaucoup de fichiers pour comparer les performances d'écriture des petits fichiers. Pour une reproduction plus facile, je l'ai relancé tout à l'heure avec le contenu de l'actuel wordpress tar.gz.

  • GlusterFS répliqué 2: 2-35 secondes, charge CPU élevée
  • GlusterFS simple: 14-16 secondes, charge CPU élevée
  • Client GlusterFS + NFS: 16-19 secondes, charge CPU élevée
  • Serveur du noyau NFS + client NFS (synchronisation): 2-36 secondes, très faible charge CPU
  • Serveur du noyau NFS + client NFS (async): -4 secondes, très faible charge CPU
  • Samba: 4-7 secondes, charge CPU moyenne
  • Disque direct: <1 seconde

Je ne suis absolument pas un gourou de la samba (je pense que mon dernier contact a été avec samba 2.x), donc je n'ai rien optimisé ici - juste une configuration prête à l'emploi (paquet debian/squeeze). La seule chose que j'ai ajoutée "sync always = yes" qui est censé appliquer la synchronisation après l'écriture (mais en voyant ces résultats ..). Sans cela, les tests étaient environ 1 à 2 secondes plus rapides.

Tous les tests ont été exécutés sur la même machine (auto-monté, c'est NAS), donc pas de retards réseau - performances de protocole pur.

Noeud latéral: En tant que système de fichiers, j'ai utilisé ext4 et xfs. Les résultats ci-dessus sont avec ext4. xfs a amélioré jusqu'à 40% (moins de temps). Les machines sont des instances EC2 m1.small. NAS sont sur les volumes EBS, les sources (tar extrait) sur le disque éphémère.

Alors voilà: quelqu'un peut-il m'expliquer pourquoi la samba est tellement plus rapide?

Aussi: Les performances NFS avec le serveur du noyau sont-elles censées être aussi horribles (surpassées par le serveur NFS GlusterFS) en mode synchronisation? Une idée de comment régler ça?

Merci, L

31
Linus Ardberk

Nous utilisons beaucoup Samba, et je l'ai toujours trouvé généralement plus rapide que NFS dans presque tous les cas (et je dis presque parce que je ne les ai pas assez comparés).

D'après ce que j'ai vu après quelques captures de paquets, le protocole SMB peut être bavard, mais la dernière version de Samba implémente SMB2 qui peut à la fois émettre plusieurs commandes avec un paquet et émettre plusieurs en attendant qu'un ACK de la dernière commande revienne. Cela a considérablement amélioré sa vitesse, du moins d'après mon expérience, et je sais que j'ai été choqué la première fois que j'ai vu la différence de vitesse aussi - Dépannage des vitesses du réseau - L'enquête séculaire

5
Univ426