linux dd 测试硬盘的读写性能

注:dd只能提供一个大概的测试结果,而且是连续IO 而不是随机IO

1. 首先用自带的dd命令先测一下, 块大小为8k


dd只能提供一个大概的测试结果,而且是连续IO 而不是随机IO


读测试

# time dd if=/dev/sda2 of=/dev/null bs=8k count=8388608

8388608+0 records in

8388608+0 records out

68719476736 bytes (69 GB) copied, 516.547 seconds, 133 MB/s

real 8m36.926s

user 0m0.117s

sys 0m55.216s

#因为/dev/sda2是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。



写测试

# time dd if=/dev/zero f=/opt/iotest bs=8k count=8388608

8388608+0 records in

8388608+0 records out

68719476736 bytes (69 GB) copied, 888.398 seconds, 77.4 MB/s

real 14m48.743s

user 0m3.678s

sys 2m47.158s

#因为/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。



读写测试

# time dd if=/dev/sda2 f=/opt/iotest bs=8k count=8388608

8388608+0 records in

8388608+0 records out

68719476736 bytes (69 GB) copied, 1869.89 seconds, 36.8 MB/s

real 31m10.343s

user 0m2.613s

sys 3m25.548s