Frage NAS-Leistung: NFS gegen Samba gegen GlusterFS


Ich plane meine neue Shared-Storage-Infrastruktur für eine kleine Webserver-Farm. Daher habe ich viele Tests mit vielen NAS-Dateisystemen durchgeführt. Dadurch habe ich einige unerwartete Ergebnisse erhalten und würde gerne wissen, ob hier jemand dies bestätigen kann.

Kurz gesagt: Samba ist sehr viel schneller als NFS und GlusterFS für kleine Dateischreibvorgänge.

Hier was ich getan habe: Ich führte einen einfachen "rsync-Benchmark" mit vielen Dateien durch, um die Schreibleistung für kleine Dateien zu vergleichen. Zur einfacheren Wiedergabe habe ich es gerade mit dem Inhalt der aktuellen wordpress tar.gz.

  • GlusterFS repliziert 2: 32-35 Sekunden, hohe CPU-Last
  • GlusterFS single: 14-16 Sekunden, hohe CPU-Last
  • GlusterFS + NFS-Client: 16-19 Sekunden, hohe CPU-Last
  • NFS-Kernelserver + NFS-Client (Synchronisierung): 32-36 Sekunden, sehr geringe CPU-Last
  • NFS-Kernelserver + NFS-Client (asynchron): 3-4 Sekunden, sehr geringe CPU-Last
  • Samba: 4-7 Sekunden, mittlere CPU-Last
  • Direkte Festplatte: <1 zweite

Ich bin absolut kein Samba-Guru (ich glaube, mein letzter Kontakt war mit Samba 2.x), also habe ich hier nichts optimiert - nur Out-of-the-Box-Konfiguration (Debian / Squeeze-Paket). Das einzige, was ich hinzugefügt habe "Sync immer = Ja", die nach dem Schreiben die Synchronisierung erzwingen soll (aber diese Ergebnisse sehen ..). Ohne sie waren die Tests etwa 1-2 Sekunden schneller.

Alle Tests laufen auf demselben Rechner (selbst montiert ist der NAS-Export), also keine Netzwerkverzögerungen - reine Protokoll-Performance.

Seitlicher Knoten: Als Dateisystem habe ich ext4 und xfs benutzt. Die obigen Ergebnisse sind mit ext4. xfs erbrachte bis zu 40% (weniger Zeit) besser. Die Maschinen sind EC2 m1.small-Instanzen. NAS-Export sind auf EBS-Volumes, Quellen (extrahierter Teer) auf ephemeren Platten.

Also hier los: Kann mir jemand erklären, warum Samba so viel schneller ist?

Außerdem: Soll die NFS-Leistung mit dem Kernel-Server im Sync-Modus so schrecklich sein (übertroffen vom GlusterFS NFS-Server)? Irgendeine Idee, wie man das stimmt?

Danke, L


27
2018-03-21 20:09


Ursprung


Vergessen: NFS-Maßnahmen sind die besten eines Paares, wo ich rsize, wsize, noatime, noac, udp vs tcp und so weiter gespielt habe. - Linus Ardberk
+1 für Forschung und Benchmarks! - Bigbio2002
Wir haben die gleichen Unterschiede in der Leistung von CIFS vs. NFS während der Entwicklung und dem Test von SoftNAS beobachtet. Ich kann bestätigen, dass asynchrones NFS viel schneller ist als synchronisiertes NFS, und Samba eliminiert NFS für die Benchmarks, die wir mit der ATTO-Benchmark-Software ausgeführt haben.
Übrigens, haben Sie jeden Rechner zwischen den Tests neu gestartet, um den Lese-Cache zu löschen? - Matt


Antworten:


Wir verwenden Samba ausgiebig, und ich fand es in fast allen Fällen immer schneller als NFS (und ich sage nur fast, weil ich sie nicht genug verglichen habe).

Von dem, was ich nach ein paar Paketerfassungen gesehen habe, kann das SMB-Protokoll gesprächig sein, aber die neueste Version von Samba implementiert SMB2, das mehrere Befehle mit einem Paket ausgeben kann und mehrere Befehle abgibt, während es auf einen ACK wartet Befehl, zurück zu kommen. Das hat seine Geschwindigkeit, zumindest in meiner Erfahrung, enorm verbessert, und ich weiß, dass ich schockiert war, als ich zum ersten Mal den Geschwindigkeitsunterschied sah - Problembehandlung bei Netzwerkgeschwindigkeiten - The Age Old Enquiry


4
2018-06-12 18:55