jueves, 15 de enero de 2009

Optimizar NFS (Linux Network File System)

Después de instalar nuestra nueva unidad de red e intercambiar algunos archivos, nos planteamos seguro, si podemos acelerar esa tasa de transferencia entre nuestro equipo y la unidad de red. Con estos comandos y con paciencia podemos ajustar los valores rsize y wsize a unos valores óptimos.

El siguiente comando enviará un archivo de 256MB desde el equipo local a la carpeta compartida.

time dd if=/dev/zero of=/mnt/home/ArchivoDePrueba bs=16k count=16384

esto devolverá una salida como la siguiente, en la que se puede ver la tasa de transferencia y el tiempo que ha tardado en el proceso:

16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 85,9604 s,
3,1 MB/s

real
1m25.977s
user 0m0.007s
sys 0m0.360s


O la siguiente:

16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 40,9155 s, 6,6 MB/s

real 0m41.562s
user 0m0.003s
sys 0m0.321s

Hay que repetirlo varias veces con distintas configuraciones de rsize y wsize, los valores deben ser múltiplos de 1024 y no pueden ser mayores que el tamaño del bloque configurado en NFSSVC_MAXBLKSIZE, por supuesto montando y desmontando la unidad para que use los nuevos valores.

También se pueden usar para la misma función dos aplicaciones más complejas, bonnie++ y iOzone.