iozone

iozone - a filesystem benchmark tool 主要是用来测试文件系统 性能

 

简介:      

       磁盘设备之上是文件系统,测试磁盘的工具往往就是调用块设备驱动的接口进行读写测试。而文件系统的测试软件就是针对文件系统层提供的功能进行测试,包括文件的打开关闭速度以及顺序读写随机位置读写的速度。以及进程并发数目等各个方面进行详细的测试。

       IOZone是目前应用非常广泛的文件系统测试标准工具,它能够产生并测量各种的操作性能,包括read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write等操作。Iozone目前已经被移植到各种体系结构计算机和操作系统上,广泛用于文件系统性能测试、分析与评估的标准工具。

       IOZone和IOMeter不同,IOMeter的测试是基于数据块的,而IOZome的测试是基于文件的,因此更适合用来测试文件系统的性能。使用IOZone 可以在多线程,多CPU,并指定CPU Cache 空间大小以及同步或者异步IO读写模式的情况下进行文件操作的性能测试。

参考链接:http://www.iozone.org/ 

下载:可以在参考链接进行下载;在写此博文是 iozone的版本为3 487; 下载为 压缩包,解压后,根据软件说明文档可以进行编译生成 对应平台的 测试文件;

常用参数:(具体参数,可以参考iozone 文档,该文档较为详细)

复制代码
-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 # 的详细选项:

Used to specify which tests to run. (0=write/rewrite, 1=read/re-read, 2=random-read/write
3=Read-backwards, 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/Repreadv).
One will always need to specify 0 so that any of the following tests will have a file to measure.
-i # -i # -i # is also supported so that one may select more than one test.

使用:

我们可以把生成的iozone 可执行文件拷贝到需要运行挂载点进行运行。也可以使用 -f 指定路径;

常用命令:

iozone –Ra

iozone –Rab output.wks

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

iozone –Rac (NFS 使用)注意此时-c 标志在nfs中的使用:

 -c 标志的含义

使用范例:

在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 -R -a -b hvs-iozone.xls -c -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 

该命令中,-a表示使用全自动模式进行测试,并根据测试结果生成excel测试文件,程序生成的所有测试单次操作从4k到16M不等;文件尺寸从64k到512m不等;测试中-c表示包含close操作的时间,这在网络文件系统中起到一定作用。命令中表示对 0=write/rewrite, 1=read/re-read,2=random-read/write,3=Read-backwards,4=Re-write-record, 5=stride-read, 8=random mix 这几种读写模式进行测试;测试结果输出在命令行中,同时在输出 hvs-iozone.xls 文件中;

参考链接:

http://www.iozone.org/docs/IOzone_msword_98.pdf  (推荐)

https://www.cnblogs.com/ykhyq/p/9627843.html

保持更新,资源来源自网络。如果对您有帮助,请点击推荐给予鼓励吧。cnblogs.com/xuyaowen

原文地址:https://www.cnblogs.com/xuanbjut/p/11796899.html