我们在做维护的时候,偶尔会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候我们可以通过系统自带的测试工具来进行测试硬盘的读写速度。

 

    如何知道IO高的问题,一般我们会通过如下方式来评判:

# iostat -x 3    //每3秒查看IO的使用情况;

 

一、dd

1.1测试硬盘纯写的速度

# time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.log

记录了1000000+0 的读入

记录了1000000+0 的写出
1024000000字节(1.0 GB)已复制,6.67974 秒,153 MB/秒

real    0m6.682s

user    0m0.115s
sys     0m4.093s

sys     0m9.096s

 

注:time(计时作用)、dd(复制)、if(从if读)、of(写到of)、bs(每次读或写的大小,即一个块的大小)、count(块的数量)


 

1.2测试硬盘纯读的速度

# time dd if=/1Gb.log of=/dev/null bs=64k

记录了15625+0 的读入

记录了15625+0 的写出
1024000000字节(1.0 GB)已复制,6.856 秒,149 MB/秒

real    0m6.928s

user    0m0.000s
sys     0m3.313s


 

1.3测试硬盘同时读写的速度

# time dd if=/1Gb.log of=/1.log bs=8k

记录了125000+0 的读入

记录了125000+0 的写出
1024000000字节(1.0 GB)已复制,6.70685 秒,153 MB/秒

real    0m6.745s

user    0m0.005s
sys     0m4.720s


 

二、hdparm

# hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   5800 MB in  2.00 seconds = 2900.84 MB/sec
 Timing buffered disk reads:  400 MB in  3.03 seconds = 132.10 MB/sec

 

注:-T   perform cache read timings;-t   perform device read timings;