我们在做维护的时候,偶尔会遇到类似于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.115ssys 0m4.093ssys 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.000ssys 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.005ssys 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;