天天看点

磁盘性能测试(读/写)

磁盘性能测试(读/写)

2011-11-21 15:44

1.测试磁盘写能力

time dd if=/dev/zero of=/opt/test.db bs=1M count=3000

3000+0 records in

3000+0 records out

real 1m18.735s

user 0m0.001s

sys 0m9.972s

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

2.测试磁盘读能力

time dd if=/dev/sda5 of=/dev/null bs=1M

6912+0 records in

6912+0 records out

real 1m51.310s

user 0m0.004s

sys 0m9.253s

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

3. 测试同时读写能力

time dd if=/dev/sda5 of=/opt/test.db bs=1M

2193+0 records in

2193+0 records out

real 1m36.257s

sys 0m8.480s

这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb1是读,对/test.db是写),假设他们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。

4:其他能力

修复硬盘:

  dd if=/dev/sda of=/dev/sda

硬盘较长时间(比如1,2年)放置不使用后,磁盘上会产生magnetic fluxpoint。当磁头读到这些区域时会遇到困难,并可能导致I/O 错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的

确定硬盘的最佳块大小:

通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小,数据量大小都一样,块大小不一致,看哪个时间最短

  dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

  dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

  dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file