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的更多相关文章

  1. Linux文件系统Ext2,Ext3,Ext4性能大比拼

    Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4. Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只 ...

  2. Web 常用功能测试方法

    功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能.常用的测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确. 2. 相 ...

  3. 【转】Web测试方法

    看到好文章,拿过来给大家分享分享! 一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&am ...

  4. Web系统的常用测试方法

    在51上看到一篇不错的文章,拿过来分享一下,学习学习! Web系统的常用测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确. 2. 相关性检查:删除/增加一项会不会 ...

  5. 以moosefs为例介绍iozone的使用方法

    一.编译安装 首先到官网下载iozone的稳定版源码 http://www.iozone.org/ 然后解压编译 tar -vxf iozone3_458.tar cd iozone3_458/src ...

  6. 常用的web功能测试方法

    功能测试就是对产品各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求功能,即是否满足需求.常用的测试方法如下: 1.页面连接检查:每一个连接是否都有对应的页面,并且页面之间切换正确. ...

  7. web测试方法总结

    链接地址:http://www.cnblogs.com/Jessy/p/3539638.html 一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~ ...

  8. TestNG 三 测试方法

    一.设置参数 测试方法是可以带有参数的.每个测试方法都可以带有任意数量的参数,并且可以通过使用TestNG的@Parameters向方法传递正确的参数. 设置方式有两种方法:使用testng.xml或 ...

  9. TestNG官方文档中文版(5)-测试方法/类和组

    5 - Test methods, Test classes and Test groups 5.1 - Test groups TestNG容许执行复杂的测试方法分组.不仅可以申明方法属于组,而且可 ...

随机推荐

  1. Sql Server存储过程和游标的配合操作

    本段代码主要为了记录存储过程以及游标的使用,防止以后自己忘记 知识点:1.存储过程书写 2.游标书写 3.游标循环更新记录 create proc saletargetas declare @ower ...

  2. 使用Vanilla框架制作时间倒数器 ——JavaScript

    一.制作时间倒数器要求以及思路:   1.首先创建三个输入字段,分别是小时,分钟和秒,以及"开始"按钮.输入的初始值必须为0h 5m 0s.当用户输入小时,分钟和秒并单击" ...

  3. NPM 与 NPX 区别

    NPM 和 NPX 区别 NPM Node Package Manager npm 是 Node.js 的软件包管理器,其目标是自动化的依赖性和软件包管理 NPX npx 是执行 Node 软件包的工 ...

  4. MQ 入门实践

    MQ Message Queue,消息队列,FIFO 结构. 例如电商平台,在用户支付订单后执行对应的操作: 优点: 异步 削峰 解耦 缺点 增加系统复杂性 数据一致性 可用性 JMS Java Me ...

  5. Linux下屏幕亮度的调节

    1 概述 Linux下的屏幕调节可以通过图形界面或者命令行进行调节,图形界面的话主要就是在设置中进行调节,如果设置中没有相应的选项可以进行手动调节. 2 手动调节 2.1 手动屏幕调节 亮度由ACPI ...

  6. JVM调优基础到进阶

    GC和GC Tuning GC的基础知识 1.什么是垃圾 C语言申请内存:malloc free C++: new delete c/C++ 手动回收内存 Java: new ? 自动内存回收,编程上 ...

  7. Spring Cloud Alibaba(2)---RestTemplate微服务项目

    RestTemplate微服务项目 前言 因为要运用 Spring Cloud Alibaba 开源组件到分布式项目中,所以这里先搭建一个不通过 Spring Cloud只通过 RestTemplat ...

  8. go中panic源码解读

    panic源码解读 前言 panic的作用 panic使用场景 看下实现 gopanic gorecover fatalpanic 总结 参考 panic源码解读 前言 本文是在go version ...

  9. Day04_17_常用Arrays类

    常用Arrays类 Arrays.toString()方法 该方法是用来将数组中得内容转换成String类型,进行输出.入参可以是(byte,int,long,float,double,boolean ...

  10. 04- cookie与缓存技术

    什么是cookie 定义:Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术.Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一 ...