¿Cómo probar el rendimiento de un disco de Linux usando el comando DD?

  
                

El comando DD en el sistema Linux es uno de los comandos más utilizados, y el comando DD también se usa ampliamente. Además de los comandos DD conocidos para copiar archivos, también puede usar el comando DD para probar el rendimiento del disco. Entonces, ¿cómo prueba el rendimiento de un disco Linux usando el comando DD?

Estas son algunas órdenes directas DD común, mira a su diferencia:

dd bs = 64k count = 4k if = /dev /zero of = prueba

dd bs = 64k count = 4k if = /dev /zero of = test; sync

dd bs = 64k count = 4k if = /dev /zero of = test conv = fdatasync

dd bs = 64k count = 4k if = /dev /zero of = test oflag = dsync

La diferencia entre estos cuatro comandos DD es la forma en que se maneja la memoria caché de escritura en la memoria:

1. Dd bs = 64k count = 4k if = /dev /zero of = test

No se agregaron parámetros. El modo predeterminado de dd no incluye el comando "sync" (sync) ". En otras palabras, el comando dd no permitió que el sistema escribiera realmente el archivo en el disco antes de que se completara. Por lo tanto, el comando anterior simplemente lee los 128 MB de datos en el búfer de memoria (caché de escritura). Así que lo que obtengas será una velocidad super rápida. Porque, de hecho, dd le da solo la velocidad de lectura, hasta que finalice, el sistema comenzará a escribir datos en el disco, pero no puede ver la velocidad. Así que si esta velocidad es rápida, no tendrá ningún efecto.

Resultados reales en ejecución:

268435456 bytes (268 MB) copiados, 1.3529 segundos, 198 MB /s

2.dd bs = 64k conteo = 4k if = /dev /cero of = test; sync

es exactamente el mismo que en el 1 anterior. Los puntos y coma están separados por dos comandos separados. Cuando el comando de sincronización está listo para comenzar a escribir datos en el disco, el comando dd anterior mostró el valor incorrecto de < velocidad de escritura " en la pantalla. Así que todavía no puedes obtener una velocidad de escritura real.

Resultados reales en ejecución:

268435456 bytes (268 MB) copiados, 0.522815 segundos, 513 MB /s

3.dd bs = 64k conteo = 4k if = /dev /zero of = test conv = fdatasync

Después de agregar este parámetro, el comando dd ejecutará la operación de "sincronización" al final, por lo que esta vez obtendrá los datos de 128M. El tiempo requerido para llegar a la memoria y escribir en el disco, por lo que el tiempo calculado está más en línea con los resultados reales de uso.

Resultados reales en ejecución:

268435456 bytes (268 MB) copiados, 2.8046 segundos, 95.7 MB /s

4.dd bs = 64k cuenta = 4k if = /dev /cero of = test oflag = dsync

Después de agregar este parámetro, dd realizará una operación de escritura síncrona cada vez que se ejecute. En otras palabras, este comando debe primero escribir el 64k en el disco después de leer 64k, y luego leer el siguiente 64k, un total de 128 veces. Esta es probablemente la forma más lenta, porque básicamente no se utiliza la caché de escritura.

Resultados de ejecución reales:

268435456 bytes (268 MB) copiados, 3.40069 segundos, 78.9 MB /s

En general, el cuarto método es el más estricto, Puede simular la operación de inserción de la base de datos, por lo que es muy lenta, también es un punto de referencia para probar el estándar de rendimiento del disco duro vps. En general, si el resultado de la prueba supera los 10 M, no tendrá ningún efecto en la construcción normal de la estación. Más de 50M, es un estado muy poderoso, el rendimiento de este disco duro vps es muy bueno, la velocidad de DD alcanzó 78.9MB /s.

En estos comandos, bs = 64k significa que el tamaño del bloque de lectura /salida es 64k bytes al mismo tiempo, y count = 4k significa que el número de bloques de copia es 4000. Si la prueba es más estricta, Ejecutamos DD con datos 1G:

dd if = /dev /zero of = test bs = 64k count = 16k oflag = dsync

significa que cada tamaño de bloque es de 64k bytes. Pruebe el número de bloques de 16k, los resultados reales de la prueba:

1073741824 bytes (1.1 GB) copiados, 18.9098 segundos, 56.8 MB /s

Lo anterior es el método de prueba del rendimiento del disco Linux mediante el comando DD De hecho, el principio de este método es utilizar la función de copia del comando DD para probar la frecuencia de lectura y escritura del disco por la velocidad de transferencia de archivos.

Copyright © Conocimiento de Windows All Rights Reserved