Publicado por & archivado en Benchmarking.

Recientemente me he comprado una memoria USB 3 SanDisk Extreme de 64GB (SDCZ80-064G-FFP), que se supone es de lo más rápido del mercado. Para ver realmente a que velocidad puedo grabar datos desde mi equipo, porque no me fío de los datos de los fabricantes, he hecho lo siguiente.

Primero he insertado la memoria, que se monta automáticamente, y tras borrar las basuras que trae para usar desde Windows o Mac (¡eh! SanDisk, algunos usamos Linux), he abierto un terminal y me he cambiado a la ruta donde está montada la memoria.

cd /media/usuario/8090-DB30/

 

Y ahora, para medir la velocidad de escritura, voy a crear un archivo de 1GB con dd lleno de ceros (en bloques de 4k):

dd if=/dev/zero of=./testfile bs=4k count=262144

 

Tardará un poco dependiendo de la velocidad y el tamaño de la memoria o el disco que estés verificando, y mientras crea el archivo no aparece nada en el terminal, hay que esperar para ver los datos. Una vez que haya terminado verás algo como esto:

1024+0 registros leídos
1024+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 5,60934 s, 169 MB/s

 

La velocidad de escritura son unos impresionantes 169 MB/s, que es mucho más rápido que el disco duro mecánico más rápido que haya visto nunca.

Ahora, para probar la velocidad de lectura, hay que borrar el caché de disco, porque si no leerá directo de la RAM y el dato será incorrecto, la primera vez que lo leí me dio nada menos que 4,2GB/s, que evidentemente no se corresponde con la velocidad real de la memoria. Para borrar la caché puedes usar esto:

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

 

Una vez borrado el caché del disco, ya se puede medir la velocidad de lectura:

dd if=./testfile of=/dev/null bs=4k

 

Este es el resultado:

262144+0 registros leídos
262144+0 registros escritos
1073741824 bytes (1,1 GB) copiados, 5,8765 s, 183 MB/s

En este caso la velocidad de lectura, contra todo pronóstico, es algo menor que la de escritura.

En cuanto al SanDisk, estoy impresionado de lo rápido que es, no llega a la velocidad de mi SSD, un Samsung 850 EVO que con el mismo test me dio un resultado de 514 MB/s de escritura y 528 MB/s de lectura, pero para ser una memoria USB las velocidades son impresionantes, y desde luego mucho más rápido que los discos duros convencionales, que son 6 veces más lentos en escritura y 3 veces más lentos en lectura de datos.

El día que las memorias igualen en precio y capacidad a los discos duros estos habrán muerto, pero no se si eso será pronto porque las memorias basadas en flash aun son caras, esta de 64GB me ha costado 37€ y la de 128GB costaba 66€ y por ese dinero puedes comprarte un disco duro de buena marca de 1TB, así que de momento, por el mismo dinero tienes 8 veces más capacidad, pero es lo único, porque los discos duros son más grandes, más lentos y más delicados. El problema es que hoy en día (febrero de 2017), de haber memorias USB de 1TB, haciendo una regla de tres, costarían más de 500€, y eso es demasiado caro.

 

3 Comentarios para “Medir la velocidad de un disco o memoria USB”

  1. Linuxica

    Gracias por la aportación, pero a mí no funciona.
    Cada vez que mido la velocidad de escritura el resultado cambia y es significativo. Los 7,3 mb que me dio el otro día se han reducido hoy a 3.9 en un primer intento y a 3.5 en un segundo.
    He procurado en este último intento no lanzar ninguna otra aplicación que pudiera ralentizar su escritura, pero aún así la velocidad ha bajado.
    ¿A ti siempre te da el mismo resultado?

    Responder
    • admin

      A mi me da resultados muy consistentes y lo hago habitualmente en muchos equipos y con cada nuevo disco que compro.

      Variaciones importantes en distintas pruebas podrían ser resultado de una escritura diferida en disco y que se esté tragando todo lo que genera dd en la RAM o en un caché del disco, sobre todo si son discos híbridos (mecánicos con flash).

      Podría estar escribiendo en el caché y que al acabarse la memoria tirara de swap, lo que explicaría por qué se ralentiza algunas veces.

      Si la velocidad de escritura es mayor que la de lectura (tras el drop del caché), casi seguro que es eso lo que está pasando, en esos casos debes tomar como buena la velocidad de lectura, pero no la de escritura.

      Podrías probar a desconectar el swap:
      sudo swapoff -a

      Y hacer la prueba con un archivo mucho más grande para que no entre en la memoria (esto genera un archivo de 16GB):
      dd if=/dev/zero of=./testfile bs=8k count=2048000

      Tardará más, pero si te da resultados más consistentes y velocidades de escritura más bajas que de lectura, sería más acertado hacerlo así.

      No olvides reconectar el swap tras la prueba:
      sudo swapon -a

      Responder
      • Linuxica

        Hola, gracias por la aclaración.
        Doy por hecho que es lo que dices porque en efecto cuando copio archivos desde el administrador de archivos a veces los muestra como ya transferidos en «notificaciones» cuando realmente no lo están, de ahí que quisiera comprobar la velocidad real de mis usb.
        Pensé que eso no sucedería desde la línea de comandos y probé con «cp» pero ahí tampoco indica la tasa de transferencia, así que lo intenté con la solución que tú proponías.
        Un saludo y muchas gracias por la ayuda y por tus magníficos tutoriales.

        Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada.