it-swarm.com.de

NAS Leistung: NFS vs Samba vs GlusterFS

Ich plane meine neue gemeinsam genutzte Speicherinfrastruktur für eine kleine Webserverfarm. Daher habe ich viele Tests mit vielen NAS Dateisystemen) durchgeführt. Auf diese Weise habe ich einige unerwartete Ergebnisse erhalten und möchte wissen, ob jemand hier dies bestätigen kann.

Kurz gesagt: Samba ist beim Schreiben kleiner Dateien enorm schneller als NFS und GlusterFS.

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

  • GlusterFS replizierte 2: 2-35 Sekunden, hohe CPU-Auslastung
  • GlusterFS single: 14-16 Sekunden, hohe CPU-Auslastung
  • GlusterFS + NFS-Client: 16-19 Sekunden, hohe CPU-Auslastung
  • NFS-Kernel-Server + NFS-Client (Synchronisierung): 2-36 Sekunden, sehr geringe CPU-Auslastung
  • NFS-Kernel-Server + NFS-Client (asynchron): -4 Sekunden, sehr geringe CPU-Auslastung
  • Samba: 4-7 Sekunden, mittlere CPU-Auslastung
  • Direkte Festplatte: <1 Sekunde

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

Alle Tests wurden auf demselben Computer ausgeführt (selbst gemountet NAS export)), daher keine Netzwerkverzögerungen - reine Protokollleistung.

Seitenknoten: Als Dateisystem habe ich ext4 und xfs verwendet. Die obigen Ergebnisse sind mit ext4. xfs schnitt bis zu 40% (weniger Zeit) besser ab. Die Maschinen sind EC2 m1.kleine Instanzen. NAS Export erfolgt auf EBS-Volumes, Quellen (extrahierter Teer) auf kurzlebiger Festplatte.

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

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

Danke, L.

31
Linus Ardberk

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

Nach dem, was ich nach ein paar Paketerfassungen gesehen habe, kann das Protokoll SMB) gesprächig sein, aber die neueste Version von Samba implementiert SMB2, das sowohl mehrere Befehle mit einem Paket als auch mehrere ausgeben kann Befehle, während ich darauf warte, dass ein ACK vom letzten Befehl zurückkommt. Dies hat seine Geschwindigkeit zumindest meiner Erfahrung nach erheblich verbessert, und ich weiß, dass ich schockiert war, als ich zum ersten Mal auch den Geschwindigkeitsunterschied sah - Fehlerbehebung bei Netzwerkgeschwindigkeiten - Die uralte Anfrage

5
Univ426