iozone测试方法-20191008
iozone
一、简介
磁盘设备之上是文件系统,测试磁盘的工具往往就是调用驱动块设备驱动的接口进行读写测试。而文件系统的测试软件就是,针对文件系统层提供的功能进行测试,包括文件的打开关闭速度以及顺序读写,还有随机位置的读写以及进程并发数目等各个方面进行详细的测试。
iozone,io测试的标准软件,benchmark(基准),主要测试的是文件系统的各种读写性能,包含顺序读写以及随机读写,fread/fwrite读写,大跨度读写等等,在测试文件的读写性能方面,测试范围广,指标精确。
二、测试定义
|
write |
测试向一个新文件写入的性能 |
|
re-write |
测试向一个已经存在的文件写入的性能 |
|
read |
测试读一个已经存在的文件的性能 |
|
re-read |
测试读一个最近读过的文件的性能 |
|
random read |
测试读一个文件中的随机偏移量的性能 |
|
random write |
测试写一个文件中的随机偏移量的性能 |
|
random mix |
测试读写一个文件中随机偏移量的性能 |
三、常用参数
-a 全面测试,比如块大小它会自动加;
-i N 用来选择测试项(具体参数,后面有详细描述);
-r block size 制定一次写入/读出的块大小;
-s file size 制定测试文件的大小;
-f filename 制定测试文件的名字,完成后会自动删除;
-F file1 file2….. 多线程下测试的文件名;
-g –n 指定测试文件大小范围。-n 后接最小值,-g 后接最大值 ,如测试512m-4G:-n 512m –g 4G;
-y –q 指定测试块的大小范围;
-R 产生excel到标准输出;
-b 制定将结果输出到制定文件上,比如:-Rb test.xls;
四、-i N详细介绍
N代表数字,不同的数字,则代表不同的测试模式,可以同时执行多个模式
|
0 |
write/rewrite |
|
1 |
read/re-read |
|
2 |
random read/random write |
|
3 |
backwards read |
|
4 |
re-write-record |
|
5 |
stride-read |
|
6 |
fwrite/re-fwrite |
|
7 |
fread/re-fread |
|
8 |
random mix |
|
9 |
pwrite/re-pwrite |
|
10 |
pread/re-pread |
|
11 |
pwritev/re-pwritev |
|
12 |
preadv/re-preadv |
四、搭建
1、 下载安装包iozone3_482.tar
去官网下载iozone源码包,然后编译适合自己的target的执行文件。
# tar -xvf iozone3_482.tar
2、 安装gcc
挂载linux(我使用虚拟机操作)镜像文件。进入yum源目录,安装gcc包
# [root@localhost KYLIN]# yum install gcc-4.4.7-4.ky3.x86_64.rpm
五、使用
1、进入iozone安装目录current目录
/root/iozone3_482/src/current,每个人根据自己实际安装地址。
2、 make linux
在current目录下,执行make linux执行
3、 执行
在current目录下,执行测试指令
[root@localhost current]# ./iozone -a -n 1g -g 4g -i 0 -f /test.txt -Rb ./test.xls
测试结果如下图所示:

注释:
./iozone:运行iozone工具;
-a:进行全面测试;
-n 1g:测试最小文件为1g;
-g 4g: 测试最大文件为4g;
-I 0: 测试模式为写;
-f: 测试文件为:/test.txt;
-Rb: 将测试结果放入test.xls;
六、测试结果分析
打开test.xls文件,如下图所示:

在excel文件中,说明了这个表单关于write的测试结果,最左侧一列是测试文件的大小(Kbytes);最上的横行,是记录大小;中间数据是测试的传输数据。
如,213749,表示测试文件大小为1G,以记录大小为1m来进行传输,它的传输速度为213749kbytes/s。
iozone测试方法-20191008的更多相关文章
- Linux文件系统Ext2,Ext3,Ext4性能大比拼
Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只 ...
- Web 常用功能测试方法
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能.常用的测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确. 2. 相 ...
- 【转】Web测试方法
看到好文章,拿过来给大家分享分享! 一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&am ...
- Web系统的常用测试方法
在51上看到一篇不错的文章,拿过来分享一下,学习学习! Web系统的常用测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确. 2. 相关性检查:删除/增加一项会不会 ...
- 以moosefs为例介绍iozone的使用方法
一.编译安装 首先到官网下载iozone的稳定版源码 http://www.iozone.org/ 然后解压编译 tar -vxf iozone3_458.tar cd iozone3_458/src ...
- 常用的web功能测试方法
功能测试就是对产品各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求功能,即是否满足需求.常用的测试方法如下: 1.页面连接检查:每一个连接是否都有对应的页面,并且页面之间切换正确. ...
- web测试方法总结
链接地址:http://www.cnblogs.com/Jessy/p/3539638.html 一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~ ...
- TestNG 三 测试方法
一.设置参数 测试方法是可以带有参数的.每个测试方法都可以带有任意数量的参数,并且可以通过使用TestNG的@Parameters向方法传递正确的参数. 设置方式有两种方法:使用testng.xml或 ...
- TestNG官方文档中文版(5)-测试方法/类和组
5 - Test methods, Test classes and Test groups 5.1 - Test groups TestNG容许执行复杂的测试方法分组.不仅可以申明方法属于组,而且可 ...
随机推荐
- 面试准备——计算机网络(TCP的三次握手和四次挥手)
一.TCP的报文结构 红色圈标出的是在讨论三次握手和四次挥手时会用到的首部字段: 顺序号(seq):TCP对从网络层传下来的数据报文进行分组,分成一段一段的TCP报文段,并对这些报文段进行编号.seq ...
- 开源服务器设计总计(plain framework2020年总计)
2020年注定会被历史铭记,世界遭受着一场前所未有的灾难,这种灾难到现在还在持续.还记得19年末的时候,那时候听到一点点消息,哪里想得到年关难过,灾难来的让人猝不及防.由于疫情防控,2020年感觉转瞬 ...
- Fundamentals of Power Electronics 目录
Fundamentals of Power Electronics Translated By Siwei Yang (前六章翻译自Edition 2,后面部分翻译自Edition 3) Part I ...
- 201871030110-何飞 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
201871030110-何飞 实验三 结对项目-<D{0-1}KP 实例数据集算法实验平台>项目报告 项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 ...
- ThoughtWorks首席咨询师带你一站通关中台
大家都在谈中台,是当下一个热议的话题,但是我们最关心的两个基本问题还是没有答案.一个是中台的概念,依然是见仁见智,始终没有一个统一的见解:另一个是中台的落地,更是鲜有人谈. 拨开当下有关中台的层层迷雾 ...
- SpringBoot项目打包部署
部署方式 SpringBoot项目可以通过jar包或者war包部署在服务器上,因为jar包更适合前后端分离的项目,所以这里我们使用jar包的方式. 添加maven支持 <!-- 这个插件,可以将 ...
- 6.2set用法
目录 1.set的定义 2.set容器内元素的访问 3.set常见使用的函数 set可以内部进行自动递增排序,且自动去除了重复元素 1.set的定义 set<typename> name; ...
- 火爆外网的 DGS 框架使用
Netflix 已开放其 Domain Graph Service(DGS)框架的源代码 ,该框架是为了方便整合 GraphQL 使用,用于简化 GraphQL 的实现. GraphQL 主要是作用于 ...
- Vue学习笔记(三)
1 监听 在Vue.js中可以通过watch来监听数据的变化,比如通过watch实现的简单计数器: <div id="app"> <p>计数器:{{coun ...
- HashMap、ConcurrentHashMap 1.7和1.8对比
本篇内容是学习的记录,可能会有所不足. 一:JDK1.7中的HashMap JDK1.7的hashMap是由数组 + 链表组成 /** 1 << 4,表示1,左移4位,变成10000,即1 ...