几种硬盘IO性能测试工具

来源:互联网 发布:西安鼓楼网络售票 编辑:程序博客网 时间:2024/05/17 13:10
dd工具
操作系统: ubuntu 12.04 
测试工具: dd  版本:8.21 执行dd --version来查看

工具说明: 

  • dd命令能粗略测试硬盘IO性能
  • 不足:执行dd命令测试硬盘IO性能,对硬盘的损害很大,不建议多次或长时间尝试.

测试命令: 
1) 读测试 
root@localhost:/# time dd if=/dev/sdf of=/dev/null bs=8k count=100000
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB) copied, 26.524 s, 395 MB/s
real    0m26.526s
user    0m0.008s
sys     0m5.364s


2) 写测试
root@localhost:~$ time dd if=/dev/zero of=/mnt/ssd/w.bat bs=8k count=100000
100000+0 records in
100000+0 records out
819200000 bytes (819 MB) copied, 1.60734 s, 510 MB/s
real    0m1.610s
user    0m0.016s
sys     0m1.588s


3) 读写测试
root@localhost:~# time dd if=/dev/sdb of=/mnt/ssd/rw.bat bs=8k count=100000
100000+0 records in
100000+0 records out
819200000 bytes (819 MB) copied, 12.1117 s, 67.6 MB/s
real    0m12.118s
user    0m0.044s
sys     0m2.436s

其他说明: 后面有个参数比如:oflag=dsync
完整命令: time dd if=/dev/sdb of=/mnt/ssd/rw.bat bs=8k count=100000 oflag=dsync
加入这个参数后,dd在执行时每次都会进行同步写入操作。也就是说,这条命令每次读取8k后就要先把这8k写入磁盘,然后再读取下面这8k,一共重复10万次。这可能是最慢的一种方式了,因为基本上没有用到写缓存(write cache)。加此参数后,测试最严格的,可以模拟数据库的插入操作,所以很慢,可能更接近真实.


fio工具

操作系统: ubuntu 12.04 
测试工具: fio    

测试条件: 需安装,执行命令: apt-get install fio

工具说明: 以顺序读为例子,命令如下:fio -name iops -rw=read -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1, 其中rw=read表示随机读,bs=4k表示每次读4k,filename指定对应的分区,这里我是/dev/sdf,direct=1表示不借助缓存 
测试命令:  
1) 顺序读
# fio -name iops -rw=read -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1
2) 顺序写
# fio -name iops -rw=write -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1
3) 随机读
# fio -name iops -rw=randread -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1
4) 随机写
# fio -name iops -rw=randwrite -bs=4k -runtime=60 -iodepth 32 -filename /dev/sdf -ioengine libaio -direct=1


其他说明:
1) fio是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet, guasi, solarisaio
2) 其他非ubuntu操作系统安装说明
  • wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz 
  • yum install libaio-devel
  • tar -zxvf fio-2.2.5.tar.gz
  • cd fio-2.2.5
  • make && make install

IOMeter工具

操作系统: ubuntu 12.04 
测试工具: IOMeter 1.10
工具说明: IOMeter是一款功能非常强大的IO测试软件,它除了可以在本机运行测试本机的IO(磁盘)性能之外,还提供了模拟网络应用的能力
测试步骤: 

1. 从Iometer官方网站 http://www.iometer.org/ 得到安装文件

2. Windowns机器上安装iometer-1.1.0-win32.i386-setup.exe,点下一步安装即可

3. Linux主机上下载并解压:tar -jxvf iometer-1.1.0-linux.x86_64-bin.tar.bz2

4. Linux主机上运行./dynamo -i 127.0.0.1 -m 127.0.0.2   (1:WINDOWS主机,2:LINUX主机)

5. iometer使用

1) 在Disk Targets目录下,设置测试的磁盘为(localhost --> /mnt/ssd),为所有工作机组都选择该磁盘

2) 在Access Specifications目录下为所有工作组选择测试项目(可选默认的,也可添加自定义条件)

3) 在results display目录下,选择update frequency频率为1点击开始测试

4) 点击开始测试 ,等待10分钟,OK
2 0