记测试工具iozone,iometer,bonnie++
![](http://blog.hexun.com/images/icon_edit.gif)
![](http://blog.hexun.com/images/icon_del.gif)
![](http://blog.hexun.com/img/xiao.gif)
![](http://blog.hexun.com/img/da.gif)
记就自己接触到的测试工具,主要有以下几种:
iozone,iometer,bonnie++
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。
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控制界面里可设置测试参数;
在网络环境下,也有几种测试方式,最简单也是最常用的方式是采用网络映射方式将远程目录映射成本机的一个盘符,然后按照单机情况进行测试;
iometer的安装:在lustre(linux系统下)安装iometer,
tar zxvf iometer-2004.07.30.linux.i386-bin.tar.gz
在源目录下执行
make makefile_linux.i386
make makefile_linux.i386
在linux下运行: ./dynamo -i 客户端ip(windows) -m 服务器ip(linux)。
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 charutc(),每次一个字符,顺序写入,完成整个文件
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 按随机顺序删除所有文件
这里补充一点关于iometer的编译。iometer中有一种叫cross compile(交叉编译)交叉编译我还没有研究过。如果不用cross compile,就必须将makefile中的cross compile给注释掉。下面提供这种情况的详细编译步骤:
#cp Makefile-Linux24 Makefile
#make (或者make -f Makefile-Linux24)
#./dynamo -i (windows ip) -m (linux ip)
如果make的时候说库什么的不在,可以安装一个rpm包后再make
#rpm -i compat-libstdc++-7.3-2.96.118.i386.rpm
安装这个rpm包的时候如果有环境方面的错误,可以运行
#export LD_ASSUME_KERNEL=2.2.5
后再运行上面的rpm安装命令。
以上用到的iometer安装程序中:
windows下为:iometer-2004.07.30.win32.i386-setup.exe
linux下为:iometer-2004.07.30.linux.i386-bin.tar.gz
![](http://bar.hexun.com/img/tb_t.gif)
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
记测试工具iozone,iometer,bonnie++相关推荐
- 测试与自动化测试,记测试工具Go4Api的诞生
自动化测试 如果搜索自动化测试相关的文章,看到的集中在两类:一是宏观上的关于手工测试和自动化测试的区别.自动化测试的优缺点.测试金字塔应该的结构(比如三角.倒三角.甜筒.梯形.洋葱.地球仪模型等),等 ...
- Linux 硬件响应性能检测工具 硬盘IO测试工具 iozone ioping fio dd
ioping 读取测试(不会影响设备数据) 块设备测试1 yeqiang@yeqiang-PC:/media/yeqiang$ sudo ioping /dev/sdc -c 10 4 KiB < ...
- 测试工具iometer, iozone, bonnie++
iometer,iozone, bonnie++ IOMeter是用来做块级存储测试IO性能的工具,比较适合做SAN.DAS存储的测试,却不适合做针对NAS或者文件系统的测试.虽然它可以运行在文件系统 ...
- 使用iozone和bonnie测试磁盘IO
测试linux设备的磁盘IO可以用的工具有很多,主要使用的是iozone和bonnie++ 1.iozone 安装: 1.下载放到/root目录下,解压文件夹 2.cd iozone3_434/src ...
- IOZONE测试工具使用方法(转载)
IOZONE主要用来测试操作系统文件系统性能的测试工具,该工具所测试的范围主要有,write , Re-write, Read, Re-Read, Random Read, Random Write, ...
- Iometer存储测试工具参数说明-图形主界面(整理)
Iometer存储测试工具参数说明-图形主界面(整理) https://blog.csdn.net/sinat_30171789/article/details/53606687 1.Topology ...
- IOzone I/O测试工具使用说明
IOzone磁盘读写工具使用说明 0. IOzone简介 1. 下载及安装 1.1 下载 1.2 编译并安装 1.3 IOzone 效用测量什么? 2. IOzone参数介绍 3. 10 个 IOZo ...
- linux查看iozone安装目录,IOZONE测试工具使用方法
IOZONE测试工具使用方法 IOZONE主要用来测试操作系统文件系统性能的测试工具,该工具所测试的范围主要有,write , Re-write, Read, Re-Read, Random Read ...
- linux下稳定性测试工具(拷机工具)
http://blog.xok.la/2009/07/linux_test_kaoji.html 在网上查了有如下些: stresslinux super pi prime mprime nbench ...
- FIO – IO压力测试工具
<存储工具系列文章>主要介绍存储相关的测试和调试工具,包括不限于dd.fio.vdbench.iozone.iometer.cosbench等性能负载工具,及strace等调试工具. 1. ...
最新文章
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) B. Verse Pattern 水题
- lisp填写明细表对话框_用AutoLisp定制acad的对话框
- mongodb query
- pycharm不支持svn,是需要svn命令行工具没有安装(for windows)
- 又到618,.NET 千万级秒杀架构到底有多牛
- 网络协议,各层功能,各层协议
- java写一个服务定时采集数据_java实现定时任务解决方案
- jsf教程_JSF教程
- linux和windows下安装python拓展包及requirement.txt安装类库
- 每天一道剑指offer-对称的二叉树
- php基础知识(2),PHP基础知识2
- 谈java之GUI与安卓
- delphi oracle 三层,delphi+Oracle做的三层结构的干部管理系统
- gb和gib的区别_高端存储手册里面的KiB,MiB,GiB是啥意思?
- 【转】资深眼镜人告诉你一些所不为人知的眼镜知识和内幕
- java queue GATK_GATK使用简介{转}
- Elasticsearch:如何制作 GeoJSON 文件并进行地理位置搜索
- 简单的微服务feign之间调用授权/安全验证
- 用计算机处理文字单元设计,计算机应用基础单元设计62(处理图像).doc
- ( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】