天天看点

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 文件

三:结果

android 性能测试iozone篇

上图是 emmc 中 ext4 文件系统的部分测试结果

分析:

1: 这个表单是关于 write 的测试结果

2: 左侧一列是测试文件大小( Kbytes) 。

例表中“ 512 ” 即写入测试文件的大小为 512 Kbytes

3: 最上边一行是记录大小。

例表中“ 128 ” 即以记录大小为 128 Kbytes 来进行传输

4: 对应中间数据是测试的传输速度。

5: 例表中的“ 左侧 524288 上侧 512 ”

即是:当测试文件大小为 524288 时,以记录大小为 512K

来进行传输,它的传输速度为 16254Kbytes/s

6:将上述数据导入 excel 中

android 性能测试iozone篇

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/

继续阅读