几种硬盘IO性能测试工具

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
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,有多个工具可以用于测试IO性能,以下是其中一些常用的工具: 1. **dd命令**:`dd`是一个常用的Linux命令,可以用于复制文件和块设备,也可以用于测试IO性能。可以使用`dd`命令来生成一个特定大小的文件,同时记录复制过程的时间,计算出数据传输的速度。例如,`dd if=/dev/zero of=testfile bs=1M count=1000 conv=fdatasync`将创建一个名为testfile的1GB文件,并记录数据传输速度。在使用`dd`时,请注意选择正确的块大小以获得最佳性能。 2. **fio工具**:`fio`是一个用于测试磁盘性能的工具,可以模拟不同的IO负载和场景。它可以测试各种IO引擎和文件系统,并生成详细的报告。`fio`支持多线程、异步IO和随机IO等,可以根据需要进行配置。例如,`fio --name=randwrite --ioengine=libaio --rw=randwrite --bs=4k --numjobs=8 --size=2G --runtime=300 --time_based`将测试8个进程在2GB的文件上进行随机写入,每个进程使用4KB块大小,运行时间为300秒。 3. **bonnie++工具**:`bonnie++`是一个基于文件系统的基准测试工具,可测试文件的创建、删除、读取和写入等操作的性能。`bonnie++`支持多线程和随机IO等,并可以生成详细的报告。例如,`bonnie++ -d /path/to/test/dir -s 2048 -r 1024`将在指定目录中测试2GB文件的创建、读取和写入,使用1KB块大小进行随机读写,同时记录操作的时间并计算数据传输速度。 4. **iozone工具**:`iozone`是另一个常用的基准测试工具,可测试文件和文件系统的IO性能。它可以测试顺序读取、顺序写入、随机读取、随机写入等操作,并支持多线程和异步IO等。例如,`iozone -a -i 0 -i 1 -i 2 -s 1G -r 4k -t 32`将测试1GB文件的顺序读写和随机读写,每次读写使用4KB块大小,并使用32个线程进行测试。 以上这些工具都可以用于测试IO性能,但在使用它们时需要了解自己的测试需求和测试环境,选择合适的工具和参数进行测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值