Mida y compare la velocidad y la latencia del acceso a archivos en un recurso compartido NFS montado

19

Tengo un sistema Linux Centos que monta algunos recursos compartidos NFS, ¿qué técnica puedo usar para medir la velocidad / latencia / velocidad de E / S al leer y escribir archivos de ese recurso compartido? ¿Podría esta técnica también aplicarse al disco duro local para fines de comparación?

Mark Theunissen
fuente

Respuestas:

28

¿Qué técnica puedo usar para medir la velocidad / latencia / velocidad de E / S al leer y escribir archivos de ese recurso compartido?

Puedes usar ddpara hacer esto:

# time dd if=/dev/zero of=/mnt/nfs/testfile bs=16k count=128k
131072+0 records in
131072+0 records out
2147483648 bytes (2.1 GB) copied, 111.656 seconds, 19.2 MB/s

real    1m51.678s
user    0m0.066s
sys 0m1.482s

# time dd if=/mnt/nfs/testfile of=/dev/null bs=16k
131072+0 records in
131072+0 records out
2147483648 bytes (2.1 GB) copied, 4.96762 seconds, 432 MB/s

real    0m4.969s
user    0m0.046s
sys 0m0.720s

(El tamaño del archivo = bs * countdebe ser el doble de RAM)

o eche un vistazo a algunas herramientas de referencia: Bonnie ++ , IOzone , por ejemplo:

# bonnie++ -d /mnt/nfs/bonnie/ -s 2048 -r 1024 -u 0
Using uid:0, gid:0.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
svr201NTC-647.lo 2G  1473  96 46620   3 48033   4  1785  99 3525478 100 +++++ +++
Latency              8647us      86us     268us    5064us      66us   23566us
Version  1.96       ------Sequential Create------ --------Random Create--------
svr201NTC-647.local -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   580   2  5742  13   429   2   423   1  7540  12   392   1
Latency               244ms   22747us    4549ms    3849ms    1641us     999ms
1.96,1.96,svr201NTC-647.localdomain,1,1319514624,2G,,1473,96,46620,3,48033,4,1785,99,3525478,100,+++++,+++,16,,,,,580,2,5742,13,429,2,423,1,7540,12,392,1,8647us,86us,268us,5064us,66us,23566us,244ms,22747us,4549ms,3849ms,1641us,999ms

# iozone -aRcU /mnt/nfs/ -f /mnt/nfs/testfile > logfile

Más detalles: http://nfs.sourceforge.net/nfs-howto/ar01s05.html

¿Podría esta técnica también aplicarse al disco duro local para fines de comparación?

Claro, puede usarlo para comparar el disco duro local para comparar.

quanta
fuente
3
¿Podría explicar por qué el tamaño del archivo = bs * cuenta debe ser el doble de RAM?
user1031431
-4

Tal vez pueda ser útil: http://www.alfaexploit.com/ficheros_web/leer.php?id=161

En el enlace de arriba encontrará un script útil que genera archivos entre 1-4Mb, de esa manera se puede verificar la velocidad de lectura / escritura.

Kr0m
fuente
Voté "Se ve bien" porque se refiere a un script externo y no a información externa.
peterh - Restablece a Mónica el
Enlace muerto y una respuesta de solo enlace para empezar.
Xan