搜索
Hi~登录注册
查看: 1547|回复: 0

Linux使用dd命令测试硬盘读写速度

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2016-7-23 19:25:41 | 显示全部楼层 |阅读模式
  Linux服务器装好系统之后,想要知道硬盘的读写是否能满足服务的需要,如果不满足硬盘的IO就是服务的一个瓶颈。所以我们需要测试硬盘的读写速度,测试的方法很多,下面是使用Linux 自带的dd命令测试硬盘的读写速度。
  time有计时作用,dd用于复制,从if读出,写到of。if=/dev/zero不产生IO,因此可以用来测试纯写速度。同理of=/dev/null不产生IO,可以用来测试纯读速度。bs是每次读或写的大小,即一个块的大小,count是读写块的数量。
  测/data目录所在磁盘的纯写速度:

[root@nagios ~]# time dd if=/dev/zero of=/var/test bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB) copied, 52.5749 seconds, 156 MB/s

real 0m55.841s
user 0m0.507s
sys 0m15.706s

##红色部分是因为使用了time命令才显示的,因此需要time命令来计算复制的时间。
  测/data目录所在磁盘的纯读速度:

[root@nagios ~]# time dd if=/var/test of=/dev/null bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB) copied, 49.0088 seconds, 167 MB/s

real 0m49.025s
user 0m0.559s
sys 0m6.383s

测读写速度:

[root@nagios ~]# time dd if=/var/test of=/tmp/test bs=8k count=1000000
125000+0 records in
125000+0 records out
8192000000 bytes (8.2 GB) copied, 129.239 seconds, 63.4 MB/s

real 2m9.251s
user 0m0.114s
sys 0m21.494s

看来这个测试结果还不错,嘿嘿
备注:理论上测试复制量越大测试结果越准确。
  正常测试的时候可能不止测试一边,可能会需要很多遍求取平均值,这个测试结果在普通的重定向是没有效果的 之后 google 了一下 用下面的方式重定向到一个文件

dd if=/dev/zero of=/var/test bs=8k count=1000000 2 info

这样测试的结果就到info文件里面了
hdparm测试硬盘读写速度
安装:yum install hdparm



语法:hdparm [-CfghiIqtTvyYZ][-a 快取分区][-A 0或1][-c I/O模式][-d 0或1][-k 0或1][-K 0或1][-m
分区数][-n 0或1][-p PIO模式][-P 分区数][-r 0或1][-S 时间][-u 0或1][-W 0或1][-X
传输模式][设备]
  补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
  参数:





-a快取分区设定读取文件时,预先存入块区的分区数,若不加上快取分区选项,则显示目前的设定。
  -A0或1启动或关闭读取文件时的快取功能。
  -cI/O模式设定IDE32位I/O模式。
  -C检测IDE硬盘的电源管理模式。
  -d0或1设定磁盘的DMA模式。
  -f将内存缓冲区的数据写入硬盘,并清楚缓冲区。
  -g显示硬盘的磁轨,磁头,磁区等参数。
  -h显示帮助。
  -i显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
  -I直接读取硬盘所提供的硬件规格信息。
  -k0或1重设硬盘时,保留-dmu参数的设定。
  -K0或1重设硬盘时,保留-APSWXZ参数的设定。
  -m磁区数设定硬盘多重分区存取的分区数。
  -n0或1忽略硬盘写入时所发生的错误。
  -pPIO模式设定硬盘的PIO模式。
  -P磁区数设定硬盘内部快取的分区数。
  -q在执行后续的参数时,不在屏幕上显示任何信息。
  -r0或1设定硬盘的读写模式。
  -S时间设定硬盘进入省电模式前的等待时间。
  -t评估硬盘的读取效率。
  -T评估硬盘快取的读取效率。
  -u0或1在硬盘存取时,允许其他中断要求同时执行。
  -v显示硬盘的相关设定。
  -W0或1设定硬盘的写入快取。
  -X传输模式设定硬盘的传输模式。
  -y使IDE硬盘进入省电模式。
  -Y使IDE硬盘进入睡眠模式。
  -Z关闭某些Seagate硬盘的自动省电功能。
  测试硬盘的读取速度:
普通磁盘测试:



# hdparm -t /dev/sda





/dev/sda:





Timing buffered disk reads:316MB in3.02seconds =104.71MB/sec











# hdparm -T /dev/sda





/dev/sda:





Timing cached reads:19328MB in1.99seconds =9691.24MB/sec


RAID0测试(两块盘):



# hdparm -t /dev/sdb





/dev/sdb:





Timing buffered disk reads:622MB in3.01seconds =206.89MB/sec











# hdparm -T /dev/sdb1





/dev/sdb1:





Timing cached reads:19632MB in1.99seconds =9844.20MB/sec


RAID0测试(三块盘):



# hdparm -t /dev/sdb





/dev/sdb:





Timing buffered disk reads:846MB in3.00seconds =281.54MB/sec

















# hdparm -T /dev/sdb





/dev/sdb:





Timing cached reads:18412MB in1.99seconds =9229.67MB/sec


RAID0测试(四块盘)



/dev/sdb:





Timing cached reads:19608MB in1.99seconds =9832.76MB/sec











Timing buffered disk reads:860MB in3.00seconds =286.35MB/sec


另外ARID卡测试速度后,每次会警告:



HDIO_DRIVE_CMD(null) (waitforflush complete) failed: Inappropriate ioctlfordevice


参考测试速度方法:time cp -a data2 data2
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表