31 votos

Rendimiento de la NAS: NFS vs Samba vs GlusterFS

Estoy planeando mi nueva infraestructura de almacenamiento compartido para una pequeña granja de servidores web. Por lo tanto, hice muchas pruebas con muchos sistemas de archivos NAS. Al hacerlo, obtuve algunos resultados inesperados y me gustaría saber si alguien de aquí puede confirmarlo.

En resumen: Samba es enormemente más rápido que NFS y GlusterFS para las escrituras de archivos pequeños.

Aquí lo que hice: Corrí un simple "benchmark rsync" con un montón de archivos para comparar el rendimiento de escritura de los archivos pequeños. Para una reproducción más fácil, lo volví a analizar ahora con el contenido del actual wordpress tar.gz.

  • GlusterFS se replicó 2: 32-35 segundos una gran carga de CPU
  • GlusterFS sencillo: 14-16 segundos una gran carga de CPU
  • Cliente de GlusterFS + NFS: 16-19 segundos una gran carga de CPU
  • Servidor del kernel NFS + cliente NFS (sincronización): 32-36 segundos una carga muy baja de la CPU
  • Servidor del núcleo NFS + cliente NFS (async): 3-4 segundos una carga muy baja de la CPU
  • Samba: 4-7 segundos carga media de la CPU
  • Disco directo: < 1 segundo

No soy en absoluto un gurú de la samba (creo que mi último contacto fue con la samba 2.x), así que no he optimizado nada aquí, sólo la configuración de la caja (paquete debian/squeeze). Lo único que he añadido es "sync always = yes", que se supone que refuerza la sincronización después de escribir (pero viendo los resultados ). Sin él, las pruebas fueron unos 1-2 segundos más rápidas.

Todas las pruebas se ejecutan en la misma máquina (auto-montada es una exportación NAS), por lo que no hay retrasos en la red - puro rendimiento del protocolo.

Nodo lateral: Como sistema de archivos usé ext4 y xfs. Los resultados anteriores son con ext4. xfs se desempeñó hasta un 40% (menos tiempo) mejor. Las máquinas son EC2 m1.small instances. La exportación NAS son en volúmenes EBS, fuentes (extraídas de alquitrán) en disco efímero.

Así que aquí vamos: ¿Alguien puede explicarme por qué la samba es mucho más rápida?

También: ¿Se supone que el rendimiento de NFS con el servidor del kernel es tan horrible (superado por el servidor NFS de GlusterFS) en modo de sincronización? ¿Alguna idea de cómo ajustar esto?

Gracias, L

5voto

Univ1138 Puntos 1686

Usamos mucho la Samba, y siempre he encontrado que es típicamente más rápida que la NFS en casi todos los casos (y sólo digo casi porque no las he comparado lo suficiente).

Por lo que he visto después de un par de capturas de paquetes, el protocolo SMB puede ser parlanchín, pero la última versión de Samba implementa SMB2 que puede emitir múltiples comandos con un paquete, y emitir múltiples comandos mientras espera que vuelva un ACK del último comando. Esto ha mejorado enormemente su velocidad, al menos en mi experiencia, y sé que me sorprendió la primera vez que vi la diferencia de velocidad también - Solución de problemas de velocidad de la red -- La investigación de Age Old

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: