iometer,iozone, bonnie++

IOMeter是用来做块级存储测试IO性能的工具,比较适合做SAN、DAS存储的测试,却不适合做针对NAS或者文件系统的测试。虽然它可以运行在文件系统之上,但是其方式是在文件系统中创建一个大的文件,然后再往这个大文件中读写块,这个模拟过程是不能完全反映文件系统的特性的。所以大部分对文件系统(包括NAS)的测试 工具一般选用IOZone、Bonnie++等。

Iometer
Iometer是一个测试简单系统和集群系统下的IO子系统性能的工具;其中dynamometer起到引擎的作用(也就是负载生成器),iometer经常被当作测量工具,其实它也是一个负载生成器workload generator,通过配置可以将iometer仿真为任意程序或benchmark下的磁盘IO负载或网络IO负载,或用于生成合成IO负载。
IOmeter用于以下几个方面:
1、Performance of disk and network controllers.//磁盘和网络控制器的性能;
2、Bandwidth and latency capabilities of buses.//总线带宽和延迟;
3、Network throughput to attached drives.      //到附联驱动器的网络带宽;
4、Shared bus performance.                     //共享的总线性能;
5、System-level hard drive performance.        //系统级硬盘驱动器性能;  
6、System-level network performance.           //系统级网络性能;

测试时分两种情况:单机环境和网络环境;
在单机环境下,运行iometer.exe,它自动运行dynamo,在iometer控制界面里可设置测试参数;
在网络环境下,也有几种测试方式,最简单也是最常用的方式是采用网络映射方式将远程目录映射成本机的一个盘符,然后按照单机情况进行测试;

iozone
主页地址: http://www.iozone.org
通过如下操作测试文件IO性能:read, write, re-read, re-write, read backwards, read strided, fread,fwrite, random read, pread, mmap, aio_read, aio_write.
iozone具有如下特性:
ANSII C source 
POSIX async I/O 
Mmap() file I/O 
Normal file I/O 
Single stream measurement 
Multiple stream measurement 
Distributed fileserver measurements (Cluster) //这个特性很实用 
POSIX pthreads 
Multi-process measurement 
Excel importable output for graph generation  //一个有用的特性
Latency plots 
64bit compatible source 
Large file compatible 
Stonewalling in throughput tests to eliminate straggler effects 
Processor cache size configurable 
Selectable measurements with fsync, O_SYNC //bonnie++最近版本已经加入fsync这一阻塞机制了,保证测试结果的真实性(有没有同步并刷新到磁盘文件中,性能差别很大)
Builds for: AIX, BSDI, HP-UX, IRIX, FreeBSD, Linux, OpenBSD, NetBSD, OSFV3, OSFV4, OSFV5, SCO OpenServer, Solaris, Windows95/98/NT       //支持的平台真是多。

安装及测试过程如下:
解压:tar xvf iozone3_237.tar
进入src/current目录;
敲入 make linux;          //linux表示目标平台;
编译生成目标文件iozone

进行测试:比如 iozone -a;//所有参数都是缺省的,并完成所有的文件操作;
iozone -s15m -i0 -i1 -t50:其含义如下:-s15m(文件的大小为15MB);-i0(写/重写操作);-i1(读/重读操作);
-t50(工作在throughput模式,并且线程数为50)
当然还有-u 就是工作在CPU利用率模式了,具体细节参考IOzone_msword_98.pdf。

bonnie++
http://www.textuality.com/bonnie/
bonnie++胜在简单,不过准确性稍差
在编译过程中,如果遇到以下错误,可能是因为你没有设置正确的环境变量,设置环境变量后继续编译,一般可以成功
# export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
# ./configure
编译完成之后会生成bonnie++,可以用来测试了.

bonnie++[-d scratch-dir] 测试目录
        [-s size(Mb)[:chunk-size(b)]]文件大小:块大小  默认大小:300M:8K             
        [-n number-to-stat[:max-size[:min-size][:num-directories]]]文件创建测试的文件数n*1024,最大文件大小,最小文件大小,目录数,max=-1:hard link,-2:soft link
        [-m machine-name]机器名,仅用于显示
        [-r ram-size-in-Mb]机器内存大小
        [-x number-of-tests] test数量
        [-u uid-to-use:gid-to-use] 测试所用的用户名:组名
        [-g gid-to-use]
        [-q]安静模式
        [-f]快速模式,不进行单字符IO测试
        [-b]不使用写缓存
        [-p processes | -y] bonnie++进程数,使用信号量同步多个进程
    [-y] 每个测试开始之前等待信号量

测试实例:
bonnie++  -s 40 -r 1 -n 0 -u 0 -f>>bonnietest  (生成的文件名)
bonnie++ -m go –d /tmp –s 30:512 –n 1 –r 2 –x 2 –u 0>>test

结果处理:
测试时,将测试结果重定向到文件,得到的文件内容如上所示
结果可以直接导入excel(新建一个文件,然后是菜单中的数据->导入外部数据)。得到结果中会有+++++的内容
+++++的含义: 当所用时间小于1s的时候,结果不准确,所以不给出

结果项解析:
Sequential Output(顺序写入) 
per char utc(),每次一个字符,顺序写入,完成整个文件 
The CPU overhead here is that required to do the stdio code plus the OS file space allocation.
block:每次一个块,顺序写入,完成整个文件, 
The CPU overhead should be just the OS file space allocation.
rewrite:每次读出一个块,修改其中一个字节,然后写回 
this should test the effectiveness of the filesystem cache and the speed of data transfer.

Sequential Input(顺序读出)
per char:get(),每次一个字符,顺序读出,完成整个文件 
This should exercise only stdio and sequential input. 
block:每次一个块,顺序读出,完成整个文件 
This should be a very pure test of sequential input performance.

Random Seeks(随机寻道):
3个seeks进程,8K个随机寻道操作,每次都是整块读出,%10得情况,修改一个字节,然后写回

Sequential Create (建立文件时,是真正将文件写入磁盘的)
create
read(stat) 顺序遍历所有文件:操作:读取文件属性,如果文件大小不为0,还要对文件内容进行读取,
delete  顺序删除所有文件

Random Create
create
read(stat) 按随机顺序遍历文件,文档中说这一步不会遍历所有文件,但是代码里边反应的情况好像不是这样
delete 按随机顺序删除所有文件

转载于:https://blog.51cto.com/liyuh/747736

测试工具iometer, iozone, bonnie++相关推荐

  1. IOZONE测试工具使用方法(转载)

    IOZONE主要用来测试操作系统文件系统性能的测试工具,该工具所测试的范围主要有,write , Re-write, Read, Re-Read, Random Read, Random Write, ...

  2. Iometer存储测试工具参数说明-图形主界面(整理)

    Iometer存储测试工具参数说明-图形主界面(整理) https://blog.csdn.net/sinat_30171789/article/details/53606687 1.Topology ...

  3. IOzone I/O测试工具使用说明

    IOzone磁盘读写工具使用说明 0. IOzone简介 1. 下载及安装 1.1 下载 1.2 编译并安装 1.3 IOzone 效用测量什么? 2. IOzone参数介绍 3. 10 个 IOZo ...

  4. linux查看iozone安装目录,IOZONE测试工具使用方法

    IOZONE测试工具使用方法 IOZONE主要用来测试操作系统文件系统性能的测试工具,该工具所测试的范围主要有,write , Re-write, Read, Re-Read, Random Read ...

  5. iometer测试工具

    简介 Iometer 为计算机I/O子系统所作的工作就如同测力计为引擎所作的工作一样:它测定在可控制的负荷下系统的性能.Iometer 以前被称为"伽利略". Iometer 既是 ...

  6. linux下稳定性测试工具(拷机工具)

    http://blog.xok.la/2009/07/linux_test_kaoji.html 在网上查了有如下些: stresslinux super pi prime mprime nbench ...

  7. FIO – IO压力测试工具

    <存储工具系列文章>主要介绍存储相关的测试和调试工具,包括不限于dd.fio.vdbench.iozone.iometer.cosbench等性能负载工具,及strace等调试工具. 1. ...

  8. linux 测试工具

    最近在寻找linux的测试工具,试用了一些.记录如下. memtester 内存测试工具,通过对内存进行读写进行测试.可以对同一块空间进行多次的读写. 源码分析 http://www.cnblogs. ...

  9. 2020测试工具索引

    初次发布文章时,共收集435个工具! 这些测试工具均为博主人肉爬虫出来的,数据来源于: 百度.Google 各大博客.门户网站.论坛 个人测试经验 在整理过程中,我会尽量去官网找到官方对该工具的描述, ...

最新文章

  1. 小记,springboot项目中自己常用的logback配置文件
  2. Dom4j和Xpath(转)
  3. Session与Cookie
  4. angularjs中使用swiper时不起作用,最后出现空白位
  5. 在ThoughtWorks工作12年的技术主管,所总结的12条技术人经验
  6. Chrome firefox ie等浏览器空格(nbsp;)兼容问题
  7. 北洋降舰之鱼雷艇队 ZT
  8. 开源智能手表TTGO-WATCH上手把玩(0)环境配置
  9. mybatis官方文档中文版
  10. 梯度下降算法的细节补充(凸函数, 导数, 偏导数,梯度, 方向导数以及负梯度下降最快背后的泰勒身影)
  11. 处理BigDecimal字段, java.math.BigDecimal cannot be cast to [Ljava.lang.Object;
  12. 一则“孔乙己文学”,刺痛了多少学子的心?
  13. Wps日期时间格式转文本、科学计数法转数字
  14. 数据结构——顺序表的实现
  15. 不会吧,现在你都还不知道次世代游戏?花1分钟来了解!
  16. 性能测试和优化实录(mybatisplus异步写库@Async引起的对象无法释放问题)
  17. java致谢_JAVA语言课程设计致谢例文.doc
  18. <Zhuuu_ZZ>HIVE(终)总结大全:是兄弟就来三连我
  19. 网站调用在线二维码生成 api
  20. Android camera预览流程

热门文章

  1. MyBatis mapper 注解过程中通过 LanguageDriver 实现动态 SQL
  2. 第三篇 12306自动刷票下单-下单
  3. IDEA远程调试服务器代码
  4. 关于链表的面试题(持续更新)
  5. 洛谷——P1910 L国的战斗之间谍
  6. Ubuntu中给eclipse和android studio添加桌面快捷图标
  7. 观后感,读了几篇博文
  8. Tableau连接Mysql数据库,按钮为灰色
  9. 中以什么开头仅可注释单行_Python从入门到精通第006课--注释与变量
  10. Ajax请求Session超时解决