Uso de la herramienta dd y prueba de rendimiento de escritura secuencial SSD

Utilice la herramienta dd:

dd también es una herramienta de prueba de disco que usamos con frecuencia. Después de instalar el sistema en el servidor Linux, queremos saber si la lectura y escritura del disco duro puede satisfacer las necesidades del servicio. Si el IO del disco duro no puede cumplirse, constituirá un cuello de botella para el servicio. Simplemente podemos usar el comando dd para probar:

El tiempo tiene una función de sincronización, dd se usa para copiar, leer desde if y escribir en of. if=/dev/zero no genera IO, por lo que puede usarse para probar la velocidad de escritura pura. De la misma manera, of=/dev/null no genera IO y puede usarse para probar la velocidad de lectura pura. bs es el tamaño de cada lectura o escritura, es decir, el tamaño de un bloque, y count es el número de bloques leídos y escritos.

dd prueba la velocidad de escritura pura:

[root@docker sda]# time dd if=/dev/zero of=/mnt/sda/ddout bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 43.1081 s, 190 MB/s

real    0m43.110s
user    0m0.207s
sys    0m3.914s

prueba dd velocidad de lectura pura:

[root@docker sda]# time dd if=/mnt/sda/ddout of=/dev/null bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 1.30322 s, 6.3 GB/s

real    0m1.306s
user    0m0.199s
sys    0m1.102s

dd prueba la velocidad de lectura y escritura, es decir, leer el archivo del disco actual y luego escribirlo en el disco actual. Hasta cierto punto, cuanto mayor sea la cantidad de copias, mayor será el tiempo de lectura y escritura y más precisos serán los resultados estadísticos. Sin embargo, los resultados de la prueba contienen menos información y solo se pueden usar como referencia. Para obtener más modos de lectura y escritura e información de prueba, puede usar los parámetros del comando dd para configurar:

Utilice las tres variables conv, iflag y oflag para configurar el modo del módulo de copia, el modo de lectura y el modo de escritura del comando dd.

El comando dd omite el caché del sistema:

如果要规避掉文件系统cache,直接读写,不使用buffer cache,需做这样的设置
iflag=direct,nonblock
oflag=direct,nonblock

Tres formas clásicas de utilizar el comando dd:

dd if=/dev/zero of=test bs=64k count=16k es inexacto. Es posible que haya datos en la memoria caché del kernel que no estén sincronizados con el disco. Los datos clave deben marcarse con fsync para evitar que se pierdan;

dd if=/dev/zero of=test bs=64k count=16k conv=fsync es más confiable, pero lleva mucho tiempo. Escribirá datos y metadatos de archivos en el disco antes de que finalice dd;

dd if=/dev/zero of=test bs=64k count=4k oflag=dsync o sync escribe en el disco cada vez que se escribe. En funcionamiento real, puede escuchar el sonido del disco y lleva mucho tiempo;

Prueba de rendimiento SSD:

PCIe-SSD Optane:  dd if=/dev/urandom of=./optane.bin bs=256k count=102400 (escribe 25 GB de datos aleatorios secuencialmente) 

M.2-STAT-SSD:  dd if=/dev/urandom of=./m2sata.bin bs=256k count=102400 (escribe 25 GB de datos aleatorios secuencialmente) 

M.2-NVMe-SSD:  dd if=/dev/urandom of=./m2nvme.bin bs=256k count=102400 (escribe 25 GB de datos aleatorios secuencialmente) 

HDD:  dd if=/dev/urandom of=./sata.bin bs=256k count=102400 (escribe 25 GB de datos aleatorios secuencialmente) 

Supongo que te gusta

Origin blog.csdn.net/qq_35273918/article/details/132561342
Recomendado
Clasificación