Prestazioni NAS: NFS vs Samba vs GlusterFS


31

Sto pianificando la mia nuova infrastruttura di archiviazione condivisa per una piccola farm di server Web. Pertanto ho eseguito molti test con molti filesystem NAS. In questo modo, ho ottenuto alcuni risultati inaspettati e vorrei sapere se qualcuno qui può confermarlo.

In breve: Samba è enormemente più veloce di NFS e GlusterFS per le piccole scritture di file.

Ecco cosa ho fatto: ho eseguito un semplice "benchmark rsync" con molti file per confrontare le prestazioni di scrittura per file di piccole dimensioni. Per una riproduzione più semplice, l'ho eseguito di nuovo proprio ora con i contenuti dell'attuale wordpress tar.gz.

  • GlusterFS replicato 2: 32-35 secondi , elevato carico della CPU
  • GlusterFS single: 14-16 secondi , elevato carico della CPU
  • Client GlusterFS + NFS: 16-19 secondi , elevato carico della CPU
  • Server kernel NFS + client NFS (sincronizzazione): 32-36 secondi , carico CPU molto basso
  • Server kernel NFS + client NFS (asincrono): 3-4 secondi , carico CPU molto basso
  • Samba: 4-7 secondi , carico medio della CPU
  • Disco diretto: <1 secondo

Non sono assolutamente un guru di samba (penso che il mio ultimo contatto sia stato con samba 2.x), quindi non ho ottimizzato nulla qui - solo una configurazione immediata (pacchetto debian / squeeze). L'unica cosa che ho aggiunto "sync always = yes" che dovrebbe imporre la sincronizzazione dopo la scrittura (ma vedendo quei risultati ..). Senza di essa, i test sono stati circa 1-2 secondi più veloci.

Tutti i test sono stati eseguiti sulla stessa macchina (auto-montata è l'esportazione NAS), quindi nessun ritardo di rete: prestazioni del protocollo pure.

Nodo laterale: come file system ho usato ext4 e xfs. I risultati sopra riportati sono con ext4. xfs ha ottenuto prestazioni migliori del 40% (meno tempo). Le macchine sono istanze EC2 m1.small. Le esportazioni NAS sono su volumi EBS, fonti (tar estratto) su disco effimero.

Quindi eccoci: qualcuno può spiegarmi perché la samba è molto più veloce?

Inoltre: le prestazioni di NFS con il server kernel dovrebbero essere così orribili (sovraperformate dal server NFS GlusterFS) in modalità di sincronizzazione? Qualche idea su come accordare questo?

Grazie L


Dimenticato: le misure NFS sono le migliori di una coppia, dove ho giocato con rsize, wsize, noatime, noac, udp vs tcp e così via.
Linus Ardberk,

3
+1 per ricerca e benchmark!
Bigbio2002,

1
Abbiamo osservato le stesse differenze nelle prestazioni CIFS rispetto a NFS durante lo sviluppo e il test di SoftNAS. Posso confermare che NFS asincrono è molto più veloce della sincronizzazione di NFS e Samba ha superato NFS per i benchmark che abbiamo eseguito utilizzando il software di benchmark ATTO.

3
A proposito, hai riavviato ogni macchina tra i test per svuotare la cache di lettura del disco?
Matt

Risposte:


5

Usiamo ampiamente Samba e l'ho sempre trovato in genere più veloce di NFS in quasi tutti i casi (e dico solo perché non li ho confrontati abbastanza).

Da quello che ho visto dopo un paio di acquisizioni di pacchetti, il protocollo SMB può essere chiacchierone, ma l'ultima versione di Samba implementa SMB2 che può sia emettere più comandi con un pacchetto, sia emettere più comandi in attesa di un ACK dall'ultimo comando di tornare. Questo ha notevolmente migliorato la sua velocità, almeno nella mia esperienza, e so di essere rimasto scioccato la prima volta che ho visto anche la differenza di velocità - Risoluzione dei problemi relativi alle velocità di rete - The Age Old Inquiry

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.