首页 > 代码库 > android 性能测试iozone篇

android 性能测试iozone篇

一:简介
iozone是一个文件系统的benchmark工具,
用于测试不同的操作系统中文件系统的读写性能,
可以测试以下13种模式
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/Re-pread


二:使用
例:
./iozone -az -y 64 -g 4G -i 0 -i 1 -f test.txt -b iozone_result.xls

参数说明:
-a:
用来使用全自动模式,生成包括所有测试操作的报告。
使用的块大小从 4k 到 16M, 文件大小从 64k 到 512M。
-z:
联合-a 参数使用,强制测试所有可能的记录值。
默认情况下,当 iozone 以很大记录值测试时,会忽略掉小的记录值
-y:
设置自动模式下使用的最小块大小(Kbytes)
-g:
设置最大测试文件,一般为内存的 2 倍
-i 0 -i 1:
指定测试的方式,现在只测试读写。
如不指定,则测试上面的所有方式
-f filename
指定测试文件的名字, 完成后会自 动删除。
这个文件必须指定你要测试的那个硬盘中
-b filename
iozone 输出结果到 excel 文件

三:结果


上图是 emmc 中 ext4 文件系统的部分测试结果
分析:
1: 这个表单是关于 write 的测试结果
2: 左侧一列是测试文件大小( Kbytes) 。
例表中“ 512 ” 即写入测试文件的大小为 512 Kbytes
3: 最上边一行是记录大小。
例表中“ 128 ” 即以记录大小为 128 Kbytes 来进行传输
4: 对应中间数据是测试的传输速度。
5: 例表中的“ 左侧 524288 上侧 512 ”
即是:当测试文件大小为 524288 时,以记录大小为 512K
来进行传输,它的传输速度为 16254Kbytes/s
6:将上述数据导入 excel 中



1: 上图可以看出大概在读写 128K-256K 的文件,记录值是 32K 到 256K
时,写的速率最大,约为 60M 左右,但是此时受到 buff cache 的影响
2:大约在写 32M 的文件时,写的速度稳定在 14M 左右,此时是真正的
写 emmc, 既 emmc 的写速度大约为 14M/s 左右

附:
Write: 测试向一个新文件写入的性能。
Re-write: 测试向一个已存在的文件写入的性能。
Read: 测试读一个已存在的文件的性能。
Re-Read: 测试读一个最近读过的文件的性能。
Random Read: 测试读一个文件中的随机偏移量的性能。
Random Write: 测试写一个文件中的随机偏移量的性能。
Backwards Read: 测试使用倒序读一个文件的性能
Record Rewrite: 测试写与覆盖写一个文件中的特定块的性能
Strided Read: 测试跳跃读一个文件的性能
Fwrite: 测试调用库函数 fwrite() 来写新文件的性能
Frewrite: 测试调用库函数 fwrite() 来写已存在文件的性能
Fread: 测试调用库函数 fread() 来读一个最近读过性能
Random mix: 随机的读写一个文件

参考:
http://baike.baidu.com/view/3502720.htm?fr=aladdin
http://www.iozone.org/









android 性能测试iozone篇