Menú
Es gratis
registro
casa  /  SOBRE/ Comprobando el disco duro en Linux. Cómo medir la velocidad de un disco duro Cómo hacer una prueba de velocidad del disco desde un servidor

Comprobando el disco duro en Linux. Cómo medir la velocidad de un disco duro Cómo hacer una prueba de velocidad del disco desde un servidor

Para determinar la velocidad de escritura en el disco, debe ejecutar el siguiente comando en la consola:

Sincronizar; dd if = / dev / zero of = tempfile bs = 1M count = 1024; sincronizar

El comando escribe un archivo temporal con un tamaño de 1 MB 1024 veces y el resultado de su trabajo será la salida de dichos datos.

1024 + 0 registros recibidos 1024 + 0 registros enviados 1073741824 bytes (1,1 GB) copiados, 15,4992 s, 69,3 MB / s

Para determinar la velocidad de lectura de un disco, debe ejecutar el siguiente comando en la consola:

El archivo temporal, que fue generado por el comando anterior, se almacena en caché en el búfer, lo que por sí mismo aumentará la velocidad de su lectura y será mucho mayor que la velocidad real de lectura directamente desde el disco duro. Para obtener velocidad real, primero debe borrar este caché.

Para determinar la velocidad de lectura de un disco desde un búfer, debe ejecutar el siguiente comando en la consola:

Dd if = archivo temporal de = / dev / null bs = recuento de 1M = 1024

La salida del comando anterior:

1024 + 0 registros recibidos 1024 + 0 registros enviados 1073741824 bytes (1,1 GB) copiados, 15,446 s, 69,5 MB / s

Para medir la velocidad real de lectura del disco, borre la caché:

Sudo / sbin / sysctl -w vm.drop_caches = 3

Salida de comando:

Vm.drop_caches = 3

Realizamos una prueba de velocidad de lectura después de borrar la caché:

Dd if = tempfile of = / dev / null bs = 1M count = 1024 1024 + 0 registros recibidos 1024 + 0 registros enviados 1073741824 bytes (1.1 GB) copiados, 16.5786 s, 64.8 MB / s

Realización de una prueba de velocidad de lectura / escritura en un dispositivo de almacenamiento externo

Para probar la velocidad de cualquier disco duro externo, unidad flash USB u otro medio extraíble o el sistema de archivos de una máquina remota (vps / vds), debe ir al punto de montaje y ejecutar los comandos anteriores.

O, en lugar de un archivo temporal, por supuesto, puede escribir la ruta al punto de montaje, como se muestra a continuación:

Sincronizar; dd if = / dev / zero of = / media / user / USBFlash / tempfile bs = 1M count = 1024; sincronizar

También se debe señalar que los comandos anteriores usan un archivo temporal llamado tempfile. No olvide eliminarlo después de finalizar las pruebas.

Prueba de velocidad del disco duro con la utilidad hdparm

hdparm es una utilidad de Linux que le permite verificar rápidamente la velocidad de lectura desde su disco duro.

Para comenzar a medir la velocidad de lectura de su disco duro, debe ejecutar el siguiente comando en la consola:

Sudo hdparm -Tt / dev / sda

Salida de comando en la consola:

/ dev / sda: Lecturas en caché de tiempo: 6630 MB en 2,00 segundos = 3315,66 MB / seg. Lecturas de disco en búfer de tiempo: 236 MB en 3,02 segundos = 78,17 MB / s

Eso es todo. Por lo tanto, pudimos averiguar el rendimiento de nuestro disco duro y dar una estimación aproximada de sus capacidades.

Hoy en día, los subsistemas de disco se están modernizando a un ritmo acelerado para casi cualquier proveedor de alojamiento. Las unidades de estado sólido se han convertido en un importante avance en la mejora del rendimiento del hardware de los servidores y las computadoras. El hecho es que durante muchos años el disco ha sido un cuello de botella, lo que se denomina "eslabón débil", en el rendimiento de cualquier sistema de información. En otras palabras, todos los demás componentes (el procesador, la RAM, los buses del sistema e incluso la red) han sido mucho más rápidos y eficientes que las unidades durante mucho tiempo. SSD aumenta el rendimiento de cualquier dispositivo entre 3 y 5 veces. Esto significa que cualquier aplicación se iniciará varias veces más rápido, a veces incluso diez veces más rápido.

Por lo tanto, el proveedor de servicios de alojamiento le ofrece dos líneas arancelarias: SSD y not_SSD. Obtienes un SSD, por supuesto. Pero, ¿cómo asegurarse de que el proveedor de alojamiento haya emitido realmente un SSD? Después de todo, no hay diferencia para que el sitio funcione: todo funcionará para usted en el alojamiento con cualquier disco. Es decir, en teoría, el proveedor de alojamiento puede anunciarle que tiene servidores en unidades rápidas de estado sólido. Pero, de hecho, para vender capacidades en discos duros tradicionales convencionales. Y lo más probable es que ni siquiera lo sepas.

Después de todo, las SSD son mucho más caras que las unidades normales. Y los hosters tienen una gran capacidad, necesitan almacenar terabytes de datos. ¿Puede imaginarse cuánto podrían costar estos sistemas, dado que 1 GB de unidad de estado sólido es aproximadamente 10 veces más caro que 1 GB de un disco normal?

¿Qué es SSD-boost o flashcache?

En general, existe un sistema híbrido. Cuando se usa un paquete de SSD + HDD. Al mismo tiempo, todos los datos se almacenan en discos grandes tradicionales. Existe un software especial que configura estos discos en una matriz complicada especial, donde el SSD actúa como un caché para cualquier dato que se escribe o lee. En una matriz de este tipo, tenemos un SSD pequeño, digamos 120 GB, seguido de un HDD grande, 2 Tb. Dicho paquete proporciona la velocidad de lectura / escritura de un SSD, pero el volumen es el mismo que el de un HDD. Eso es. Al mismo tiempo, el hoster puede decirle con calma que todo está en el SSD. Los hosters honestos lo llaman SSD-boost. Esto no afecta negativamente el trabajo de los sitios.

He probado la velocidad del disco con docenas de diferentes servidores. Se sorprenderá, pero solo 1 de cada 5 hosters proporciona un SSD "honesto".

Capturo esas cosas con capturas de pantalla.

Pruebas de SSD falsos de algunos hosters

Hoster # 1

Aquí vemos solo 30 MB / s para escritura. Ésta es la velocidad normal para un disco duro normal. Pero el hoster lo anuncia como SSD.

Hoster # 2

Una imagen similar. Pero la velocidad de lectura ya es un poco mejor. Quizás este sea el caso de flashcache, pero muy sobrecargado. Y lo más probable es que solo sea una matriz de incursión de un disco duro ordinario. Puede recopilarlos de tal manera que el rendimiento de lectura aumente entre 1,5 y 2 veces.

Hoster # 3

Hoster favorito. Muestra resultados generalmente salvajes. No solo está el disco duro, también está sobrecargado con llamadas de disco.

Hoster # 4

Es una historia muy divertida aquí. ¿El cliente auditó el servidor? Hubo quejas sobre los frenos. Déjame comprobar el disco, creo.

Aquí tienes una foto. Le escribo al cliente de esta manera y aquella: el hoster te engaña descaradamente. El cliente corre hacia el soporte, resulta que realmente. El cliente "olvidó" encender el SSD al cambiar de tarifa a tarifa una vez allí, ¿comprende? Lo cambiamos, lo probamos de nuevo y vemos cómo apareció un SSD real.

Puntos de referencia reales de SSD

Ahora, para comprender la diferencia, le mostraré capturas de pantalla de las pruebas del SSD real.

Así es como se ve. La velocidad de escritura debe ser superior a 100 Mb / s. Este es el mínimo para un SSD. Esta es una prueba de mi computadora portátil de trabajo donde actualmente estoy escribiendo esta publicación. Tiene el SSD de 120 Gb más barato. Como puede ver, su velocidad de funcionamiento es 4-5 veces más rápida que la de un disco tradicional.

Y aquí está la prueba del proveedor de alojamiento que proporciona un SSD real.

Este es definitivamente un SSD real aquí. Así es como debería ser. Quizás haya configurado un impulso, pero sigue siendo un SSD y puede vivir con este proveedor de alojamiento.

¿Cómo hacer una prueba de velocidad de disco en un hoster?

Utilizo la utilidad dd para esto. Cualquier linux lo tiene. Pero debe manejarlo con cuidado, de lo contrario existe el riesgo de estropear todo el servidor, todos los datos que contiene. Dado que esta utilidad escribe datos sin procesar en cualquier dispositivo o archivo que usted señale.

Entonces, para la prueba de escritura, debe tomar un flujo de ceros del dispositivo especial / dev / zero y enviarlo a un archivo en el disco probado. Cualquier archivo arbitrario. Por ejemplo, a la carpeta de archivos temporales /tmp/test.img

Dd if = / dev / zero of = / tmp / test.img bs = 1M count = 1024 oflag = dsync

Este comando creará un archivo de 1 GB y mostrará la velocidad de escritura.

Puede verificar inmediatamente la velocidad de lectura, solo aquí la opción if debe apuntar al archivo creado y a algún lugar del vacío. En Linux existe un dispositivo de este tipo / dev / null, y le enviaremos:

Dd if = / tmp / test.img of = / dev / null bs = recuento de 1M = 1024

Pero antes de eso, debe restablecer la memoria caché del disco; de lo contrario, el archivo se leerá en un segundo y obtendrá la velocidad de lectura en Gb / s. Esto se hace con el siguiente comando:

Sysctl vm.drop_caches = 3

Luego realizamos la prueba de lectura con el segundo comando.

Bueno, al final, debes eliminar el archivo de prueba para que no ocupe espacio:

Rm -f /tmp/test.img

Esto solo funcionará en un servidor dedicado o VPS. Además, no en todos los VPS. Dado que también se diferencian en la tecnología de virtualización. Muchos hosters no proporcionan virtualización completa (KVM, XEN) sino contenedores (openVZ). No hay acceso a los parámetros del kernel, lo que significa que no podrá vaciar la caché. Tendrá que leer y escribir en diferentes archivos, o esperar unas horas antes de la prueba de lectura hasta que la memoria caché del disco se sobrescriba con otros datos. También es bastante difícil verificar la velocidad en el alojamiento compartido, ya que no tiene acceso de root allí. Pero la utilidad dd generalmente está disponible para cualquier usuario del sistema, por lo que puede verificarla con acceso SSH.


Si tiene una cierta cantidad de discos duros, así como unidades flash (Unidad flash), es necesario determinar su rendimiento, a fin de determinar con qué fines utilizar este o aquel dispositivo de almacenamiento. La prueba de la velocidad de lectura / escritura de los discos duros generalmente se realiza usando hdparm.

hdparm- utilidad de consola (anteriormente parte del paquete hwtools) diseñado para ver y ajustar parámetros de discos duros con una interfaz ATA (interfaz paralela para conectar unidades, discos duros y unidades ópticas a una computadora).

Los parámetros para los discos duros se establecen con un énfasis en la confiabilidad, incluso en equipos de no muy alta calidad, y en la mayoría de las placas base y discos duros modernos, puede aumentar significativamente el rendimiento. IDE subsistemas sin sacrificar la confiabilidad.

Actualmente no existen métodos confiables para determinar los parámetros óptimos para los dispositivos. (excepto para un ensayo y una observación cuidadosos), y tampoco hay una base de datos centralizada. (que recopilaría información sobre las observaciones de usuarios experimentados), lo más seguro es comparar algunos parámetros " defecto"y, basándose en ellos, seleccione un dispositivo con los parámetros más óptimos. La forma más sencilla de hacerlo es utilizar hdparm especialmente porque se incluye en casi todas las distribuciones modernas Linux.

Aunque el propsito principal hdparm tuning y optimización, se puede utilizar como una sencilla herramienta para la realización de pruebas, para ello basta con ejecutar (hdparm requiere derechos de administrador / root para funcionar):

Sudo hdpam -t "nombre del dispositivo"

Por ejemplo:

Sudo hdpam -t / dev / sda

Puede averiguar el nombre del disco ejecutando:

Fdisk -l

Es recomendable realizar la prueba en ausencia de actividad notable en el disco. Opción " -t"le permite mostrar la velocidad de lectura secuencial de los datos del disco, sin las demoras causadas por el funcionamiento del sistema de archivos.

La prueba realizada mostrará la tasa de transferencia de datos más alta para el disco probado. La comprobación de lectura / escritura se produce al principio del disco, en la parte más rápida del mismo, por lo que las cifras obtenidas apenas se corresponden con la velocidad real del disco. El resultado más realista se puede obtener al verificar el disco en puntos arbitrarios, en orden aleatorio ... Puede realizar dicha prueba utilizando la utilidad de la consola buscador.

buscador- una utilidad de consola que verifica la velocidad de lectura / escritura de los discos duros de forma aleatoria, con acceso al disco en un orden aleatorio. Con este método de prueba, el cabezal del disco se mueve rápidamente de un lugar a otro, leyendo pequeños fragmentos de datos. El proceso implica operaciones mecánicas y el acceso al disco es mucho más lento que la prueba de acceso secuencial.

Un método de verificación arbitrario utilizado en buscador mucho más cercano al trabajo real de un disco duro y los resultados de las pruebas obtenidos parecen más creíbles. Por lo tanto, usando buscador es muy importante probar todo el disco (/ dev / sda), y no una sección separada de él (/ dev / sda1, / dev / sda2, / dev / sda3, etc.):

Buscador de sudo "nombre de disco"

La utilidad es fácil de usar, se ejecuta sin opciones adicionales, el disco se prueba en treinta segundos y para un acceso más completo al disco, es mejor ejecutar la utilidad con derechos de administrador. (raíz)... Además de los discos duros que utilizan buscador puede realizar pruebas comparativas de unidades flash disponibles (por ejemplo, para usar el dispositivo más rápido como LiveUSB).

Original: prueba la velocidad de lectura / escritura de las unidades usb y ssd con el comando dd en Linux
Autor: Silver Moon
Fecha de publicación: 12 de julio de 2014
Traducción: N. Romodanov
Fecha de transferencia: Octubre de 2014

Velocidad del dispositivo

La velocidad de un dispositivo se mide en unidades que indican cuántos datos puede leer o escribir por unidad de tiempo. El comando dd es una herramienta de línea de comandos simple que puede utilizar para leer y escribir bloques arbitrarios de datos en el disco y medir la velocidad a la que se transfieren los datos.

En este tutorial, usaremos el comando dd para probar la velocidad de lectura y escritura de dispositivos usb y ssd.

La velocidad de transferencia de datos depende no solo del disco, sino también de la interfaz a través de la cual está conectado. Por ejemplo, el puerto USB 2.0 tiene un límite de velocidad funcional máximo de 35 MB / s, por lo que incluso si conectó una unidad flash USB 3 de alta velocidad a USB 2, la velocidad se limitará a un valor más bajo.

Lo mismo ocurre con un dispositivo SSD. El dispositivo SSD se conecta a través de puertos SATA, que son de diferentes versiones. Sata 2.0 tiene un límite de velocidad teórico máximo de 3Gb / s, que es aproximadamente 375 MB / s. Mientras que SATA 3.0 admite el doble de velocidad.

Método de prueba

Monte el disco y navegue hasta él desde una ventana de terminal. Luego use el comando dd para escribir primero un archivo de bloque de tamaño fijo. Luego lea el mismo archivo usando el mismo tamaño de bloque.

La sintaxis general del comando dd es la siguiente

Dd if = ruta / a / archivo_entrada de = / ruta / a / archivo_salida bs = tamaño_de_bloque cuenta = número_de_bloques

Al escribir en el disco, simplemente leemos desde / dev / zero, que es la fuente de un número infinito de bytes. Cuando leemos desde el disco, leemos el archivo que escribimos anteriormente y lo enviamos al dispositivo / dev / null, que en realidad no está allí. Durante todo el proceso, el comando dd monitorea e informa la tasa de transferencia.

Dispositivo SSD

El SSD que estamos usando es un SSD "Samsung Evo 120GB". Este es un SSD de nivel de entrada en el presupuesto y también mi primer SSD. También es una de las unidades de estado sólido más potentes del mercado.

En esta prueba, la unidad ssd está conectada al puerto sata 2.0.

Velocidad de grabación

Primero escribamos a ssd

$ dd if = / dev / zero of =. / largefile bs = 1M count = 1024 1024 + 0 registros en 1024 + 0 registros de salida 1073741824 bytes (1.1 GB) copiados, 4.82364 s, 223 MB / s

El tamaño del bloque es bastante grande. Puede intentar usar un tamaño más pequeño como 64k o incluso 4k.

Velocidad de lectura

Ahora, por el contrario, lea el mismo archivo. Pero primero, borre la memoria caché para asegurarse de que el archivo realmente se esté leyendo desde el disco.

Para borrar la memoria caché, ejecute el siguiente comando

$ sudo sh -c "sincronización && echo 3> / proc / sys / vm / drop_caches"

Ahora lee el archivo

$ dd if =. / largefile of = / dev / null bs = 4k 165118 + 0 registros en 165118 + 0 registros de salida 676323328 bytes (676 MB) copiados, 3,0114 s, 225 MB / s

dispositivo USB

En esta prueba, mediremos la velocidad de lectura de unidades flash USB ordinarias. Los dispositivos se conectan a puertos USB estándar 2. El primer dispositivo es una unidad USB Sony de 4 GB y el segundo es una unidad de estroncio de 16 GB.

Primero, conecte el dispositivo y móntelo de modo que sea legible. Luego, desde la línea de comando, cambie al directorio montado.

Dispositivo Sony de 4GB - grabación

En esta prueba, el comando dd se usa para escribir 10,000 piezas de datos, 8 KB cada una, en un solo archivo en el disco.

# dd if = / dev / zero of =. / largefile bs = 8k count = 10000 10000 + 0 registros en 10000 + 0 registros en salida 81920000 bytes (82 MB) copiados, 11.0626 s, 7.4 MB / s

La velocidad de escritura es de aproximadamente 7,5 MB / s. Esta es una cifra baja.

Dispositivo Sony de 4GB - leer

Se lee el mismo archivo para probar la velocidad de lectura. Para borrar la memoria caché, ejecute el siguiente comando

$ sudo sh -c "sincronización && echo 3> / proc / sys / vm / drop_caches"

Ahora lea el archivo usando el comando dd

# dd if =. / largefile of = / dev / null bs = 8k 8000 + 0 registros en 8000 + 0 registros de salida 65536000 bytes (66 MB) copiados, 2.65218 s, 24.7 MB / s

La velocidad de lectura es de aproximadamente 25 MB / s, que es más o menos estándar para unidades flash USB baratas.

USB 2.0 tiene una tasa de transferencia de señal máxima teórica de 480 Mbps o 60 Mbps. Sin embargo, debido a varias restricciones, el ancho de banda máximo está limitado a aproximadamente 280 Mbps o 35 Mbps. Además, la velocidad real depende de la calidad de la unidad flash, así como de otros factores.

Y dado que el dispositivo USB descrito anteriormente se conectó a un puerto USB 2.0 y se logró una velocidad de lectura de 24.7 MB / s, lo cual no es tan malo. Pero la velocidad de escritura está muy por detrás.

Ahora hagamos la misma prueba con una barra de estroncio de 16 GB. El estroncio es otra marca que fabrica memorias USB muy baratas, pero estas memorias son fiables.

Velocidad de escritura para un dispositivo de estroncio de 16 gb

# dd if = / dev / zero of =. / largefile bs = 64k count = 1000 1000 + 0 registros en 1000 + 0 registros fuera 65536000 bytes (66 MB) copiados, 8.3834 s, 7.8 MB / s

Velocidad de lectura para un dispositivo de estroncio de 16 gb

# sudo sh -c "sync && echo 3> / proc / sys / vm / drop_caches" # dd if =. / largefile of = / dev / null bs = 8k 8000 + 0 registros en 8000 + 0 registros de salida 65536000 bytes (66 MB) copiado, 2.90366 s, 22.6 MB / s

La velocidad de lectura de datos es más lenta que la del dispositivo Sony.