检测硬盘的读写IO速度
1. 使用hdparm命令
[root@server0 ~]# hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 8528 MB in 2.00 seconds = 4266.81 MB/sec
Timing buffered disk reads: 218 MB in 3.05 seconds = 71.38 MB/sec
可以看到,2秒钟读取了8528M的缓存,约合4266.81MB/sec
在3.05秒钟读取了218M磁盘(物理读),读取速度约合71.38MB/sec
2.使用dd命令
相对于hdparm来说,不够专业,但对于平时的简单评估来说是首选的
在使用前首先了解两个特殊设备:
/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO
测试方法:
测试io写的速度
[root@server0 mnt]# time dd if=/dev/zero of=/mnt/test bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 23.6557 s, 45.4 MB/s
real0m23.737s
user0m0.000s
sys0m0.858s
可以看到,在23s中,生成了一个1.1G的文件,IO写的速度约为45.4M/sec
测试io读的速度
[root@server0 mapper]# time dd if=/dev/mapper/rhel-home of=/dev/null bs=8k
391065+0 records in
391064+0 records out
3203596288 bytes (3.2 GB) copied, 42.3702 s, 75.6 MB/s
real0m42.371s
user0m0.109s
sys0m10.093s
在42s里读取了3.2G的文件,计算得75.6MB/sec
同时测试io读写速度
[root@server0 mnt]# time dd if=/dev/sda1 of=/mnt/test bs=8k
25600+0 records in
25600+0 records out
209715200 bytes (210 MB) copied, 2.89722 s, 72.4 MB/s
real0m2.898s
user0m0.012s
sys0m0.470s