Testeo de velocidad lectura/escritura en HD

Para obtener la velocidad de lectura del disco:

sudo hdparm -tT /dev/sda1

En mi caso, con un disco duro en estado sólido (SSD):

/dev/sda1:
Timing cached reads: 4308 MB in 2.00 seconds = 2157.12 MB/sec
Timing buffered disk reads: 338 MB in 3.01 seconds = 112.40 MB/sec

Unos resultados bastante realistas teniendo en cuenta que el fabricante (Intel) certifica los 3GB/s (un poco truncandos los resultados, hay que diferenciar entre caché y buffer).


Ahora, para obtener unos resultados más contrastados haremos lo mismo iterando 5 veces el comando:

for i in 1 2 3; do sudo hdparm -tT /dev/sda1; do

Obteniendo el siguiente resultado:

/dev/sda1:
Timing cached reads: 4264 MB in 2.00 seconds = 2133.68 MB/sec
Timing buffered disk reads: 338 MB in 3.01 seconds = 112.42 MB/sec

/dev/sda1:
Timing cached reads: 4264 MB in 2.00 seconds = 2133.71 MB/sec
Timing buffered disk reads: 338 MB in 3.01 seconds = 112.33 MB/sec

/dev/sda1:
Timing cached reads: 4220 MB in 2.00 seconds = 2111.50 MB/sec
Timing buffered disk reads: 338 MB in 3.01 seconds = 112.42 MB/sec

Con los que podremos verificar los datos.

Para visualizar la velocidad máxima de escritura, obtendremos los datos del arranque del sistema, así, con el parámetro -I y filtrando los resultados con grep:

sudo hdparm -I /dev/sda1 | grep -i speed

Obteniendo:

* SATA-I signaling speed (1.5Gb/s)
* SATA-II signaling speed (3.0Gb/s)

Estos sí serían los ideales, es decir, los que nos da el fabricante.

Para verificar la escritura en disco, usaremos el commando dd, creamos un archivo (testing.file) cogiendo los datos del /dev/zero con un tamaño de 4GB y veremos la tasa de escritura. Así:

dd if=/dev/zero of=testing.file bs=8k count=512k
524288+0 records in
524288+0 records out
4294967296 bytes (4.3 GB) copied, 72.6282 seconds, 59.1 MB/s

Y para pequeñas escrituras (e.g. 512KB), unos resultados impresionantes:

dd if=/dev/zero of=testing.file bs=512k count=1
1+0 records in
1+0 records out
524288 bytes (524 kB) copied, 0.00178933 seconds, 293 MB/s

Ahora sí se cumplen esos 300MB/s que decía el fabricante.

Quizás muchos de vosotros conoceréis “top”, la herramienta para monitorizar el sistema por defecto en GNU/Linux, y es posible que en esta aplicación el único aspecto que podemos echar en falta es el hecho de poder conocer el estado de nuestros discos duros en el momento de ejecutar un programa.

Para ello, existe una herramienta llamada “iotop”, que con un aspecto similar a top presenta el estado nuestros dispositivos de entrada/salida, es decir, nuestro disco duro (todos los discos, particiones y, evidentemente, la swap) y todos los dispositivos de E/S que tengamos conectados.

Para instalarlo:

En distribuciones basadas en Debian (e.g. Ubuntu):

sudo apt-get install iotop

En distribuciones basadas en Red Hat (e.g. CentOS):

yum install iotop

Otras distribuciones (Gentoo Linux o Arch Linux):

emerge iotop

pacman -Sy iotop

Para ejecutarlo, desde el mismo terminal:

iotop

Por ejemplo, en mi caso deseo monitorizar en background un proceso, conocer el tiempo en que ocurren los acontecimientos y que sólo me muestre los procesos que están haciendo uso del disco, limitando además el número de iteraciones de iotop a 100. Y por supuesto, redireccionando la salida por pantalla a un fichero. Así:

iotop –batch –only –time –iter=100 –delay=0.1 > iotop.out &

Y por orden de los parámetros:

–batch (-b): Modo no interactivo.
–only (-o): Sólo se muestran los procesos que hacen uso de entrada/salida (E/S).
–time (-t): Incluye una marca de tiempo.
–iter= (-n): Define el número de veces que se itera antes de salir. Por defecto nunca finaliza.
–delay= (-d): Define el tamaño de paso entre iteración e iteración. En mi caso lo he fijado a 10ms.
Para volcar la salida a fichero la redirecciono usando el carácter > e indico a continuación el fichero de salida.
Y finalmente para lanzarlo en background uso el carácter et (ampersand, &).

Si deseas más información:

man iotop

Fuente: http://www.linuxhispano.net/2011/02/09/calcular-la-velocidad-del-disco-en-linux/

One thought on “Testeo de velocidad lectura/escritura en HD

  • enero 15, 2013 at 3:59 pm
    Permalink

    Maravilloso post. Ya hacía tiempo que quería saber la velocidad de mi disco duro. Me ha sido de gran utilidad. Gracias!

    Reply

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *