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。

最新文章

  1. Openstack Periodic Task
  2. 生成ARM汇编
  3. C语言文法 LL(1)文法
  4. ubuntu远程桌面连接windows系统(转)
  5. 泛函编程(11)-延后计算-lazy evaluation
  6. mybatis migrate常用指令
  7. svn 分支
  8. JS动态呈现还可以输入字数
  9. PHP - 多维数组
  10. SSD的基本架构
  11. 实战nginx 基础知识总结(一)1.1
  12. 【转载】django在eclipse环境下建web网站
  13. Zookeer-- 上搭建 hbase
  14. 在CentOS上使用Jexus托管运行 ZKEACMS
  15. linux-centerOs6.8安装nginx与配置
  16. mysql把查询结果集插入到表理
  17. 【转】如何向Android模拟器打电话发短信
  18. bzoj1625:[Usaco2007 Dec]宝石手镯(背包dp板子)
  19. error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’
  20. node+express+mongodb初体验

热门文章

  1. 第16 章 : 深入理解 etcd:基于原理解析
  2. shell的配置文件
  3. JDK8中新日期时间API
  4. 翻译:《实用的Python编程》09_02_Third_party
  5. 使用numba加速python科学计算
  6. 『动善时』JMeter基础 — 1、JMeter介绍
  7. 硬件篇-02-TX2刷机Jetpack4.3
  8. 病毒木马查杀实战第016篇:U盘病毒之逆向分析
  9. 编译Android 4.4源代码并烧录到Nexus4
  10. [CTF]跳舞的小人