天天看點

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/

繼續閱讀