iozone

一、功能简介

iozone是一文件系统的基准测试工具,用来全面测试不同操作系统的读写性能可以测试 read, write, re-read,re-write, read backwards 等等不同模式下的硬盘性能。

二、安装iozone

网址:http://www.iozone.org

下面以iozone3_397.tar为例,介绍源码包安装过程(Debian 6)

下载源码包->tarball-> cd iozone3_397/src/current -> make linux产生我们需要的iozone文件,现在就可以使用iozone了。

三、使用iozone

在使用iozone测试时,设置测试文件的大小一定要大过内存(通常推荐为实际内存大小的两倍),否则linux会为读写的内容进行缓存,使测试结果非常不真实。

1.全面自动测试模式

./iozone -a

2.输出Excel文档模式

./iozone -az 2G -Rb /root/iozone.xls

-a:全面自动模式使用的块大小从4k16M,当文件大于 32MB时会自动停止使用低于64K的块大小测试,这将节省测试时间;

-z :-a连用,测试所有的块,强制iozone 在执行自动测试时包含小的块;

-R :生成Excel报告。iozone将生成一个兼容Excel的标准输出报告。这个文件可以使用Microsoft Excel打开;

-b filename : iozone输出结果时将创建一个兼容Excel的二进制格式的文件。

如果我们只关心读/写性能,不想花时间执行所有的测试,可以使用如下参数限制测试内容:

./iozone –Ra –g 2G –i 0 –i 1

-i #:设置I/O测试模式(0=write/Rewrite,1=read/Re-read,2=random-read/write,3=Read-backwards … 12=preadv/Re-preadv)

-g:设置测试时最大文件大小

I/O模式

这里只介绍我最常用的几个模式,其他模式请参考iozone的帮助文档。

write:

测试向一个新文件写入的性能。

re-write:

测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。re-write的性能通常比write的性能高。

read:

测试读一个已存在的文件的性能。

re-Read:

测试读一个最近读过的文件的性能。re-Read性能会高些,因为操作系统通常会缓存最近读过的文件数据。这个缓存可以被用于读以提高性能。

五、iozone源码包的文件

· iozone.c    (源码)

· libasync.c   (源码)

· makefile    (makefile)

· libbif.c    (源码)

· Iozone_msword_98.doc(使用帮助文档)

· iozone.1  (nroff格式文档)

· gnuplot.dem  (gnuplot示例文件)

· gnuplotps.dem (带附言的gnuplot示例文件)

· read_telemetry  (用于telemetry读测试的示例文件)

· write_telemetry  (用于telemetry写测试的示例文件)

· Run_rules.doc  (程序运行规则)

· Changes.txt  (iozone开发版本升级记录)

六、iozone测试结果一览

1. 测试命令

./iozone -Ra -g 16G -i 0 -i 1 -Rb /home/iozone.xls

2. 测试结果

测试完成以后,查看/home/iozone.xls文件,它详细记录了测试结果。现截取writer结果以做说明:

Writer Report

左侧一列是测试文件大小(K),最上边一行是块大小K,中间数据是传输速度。例如下表中第二行的90145,即测试文件大小为64K,以块大小为8K来进行传输,传输速度为90145Kbytes/s 。表格中数据0的部分是因为选择-a 参数时,系统默认在测试文件大于32M时将自动停止使用低于64K的块大小测试。如果想获取该部分数据,可选用参数-z

posted @ 2012-04-28 10:09  luckyaapple  阅读(1673)  评论(0编辑  收藏  举报