0

Mejorando la velocidad de transferencia en NFS

Network File System es un sistema de archivos distribuido para una red local entre máquinas *NIX. Permite conectar, o compartir, directorios entre varios ordenadores.

NFS se parece mucho a lo que implementa Microsoft en clientes Windows para compartir carpetas, en Windows se utiliza lo que se denomina SMB que permite compartir archivos e impresoras.

He dicho se “parece” porque NFS supera con creces a SMB. La característica más notable para el usuario, es su alta velocidad de transferencia.

Una vez introducido esto, decidí compartir unas carpetas entre el PC y el portátil, ambas máquinas funcionando con una Debian. Para hacer esta tarea tenía dos opciones, usar Samba (la implementación libre de SMB) o NFS.

El principal uso que le iba a dar era la transferencia de ficheros grandes de una máquina a otra, así que opté por usar NFS ya que consigue una transferencia mayor.

Una vez configurado todo, a base de buscar con google, hice una prueba de transferencia y el tiempo empleado en transferir un fichero fue muy grande. La velocidad era alta pero cada minuto se solía detener durante un rato lo que reducía la media.

Así que seguí buscando por google hasta dar con la solución.

Resulta que el NFS utiliza por defecto el protocolo UDP que es óptimo para transmitir ficheros pequeños pero no para los grandes; así que según leí recomendaban usar el NFS sobre TCP.

Para ello sólo tuve que modificar la línea del FSTAB del cliente:

server:/usr/local/pub /mnt/nfs nfs auto,rsize=8192,wsize=8192,timeo=14,intr,tcp

Con este cambio puedo copiar ficheros a la máxima velocidad que da la red.

Más información aquí.