android 性能測试iozone篇

时间:2022-02-28 19:56:53

一:简单介绍

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/