iozone
一、簡介
磁盤設備之上是文件系統,測試磁盤的工具往往就是調用驅動塊設備驅動的接口進行讀寫測試。而文件系統的測試軟件就是,針對文件系統層提供的功能進行測試,包括文件的打開關閉速度以及順序讀寫,還有隨機位置的讀寫以及進程並發數目等各個方面進行詳細的測試。
iozone,io測試的標准軟件,benchmark(基准),主要測試的是文件系統的各種讀寫性能,包含順序讀寫以及隨機讀寫,fread/fwrite讀寫,大跨度讀寫等等,在測試文件的讀寫性能方面,測試范圍廣,指標精確。
二、測試定義
write |
測試向一個新文件寫入的性能 |
re-write |
測試向一個已經存在的文件寫入的性能 |
read |
測試讀一個已經存在的文件的性能 |
re-read |
測試讀一個最近讀過的文件的性能 |
random read |
測試讀一個文件中的隨機偏移量的性能 |
random write |
測試寫一個文件中的隨機偏移量的性能 |
random mix |
測試讀寫一個文件中隨機偏移量的性能 |
三、常用參數
-r block size 制定一次寫入/讀出的塊大小;
-s file size 制定測試文件的大小;
-f filename 制定測試文件的名字,完成后會自動刪除;
-g –n 指定測試文件大小范圍。-n 后接最小值,-g 后接最大值 ,如測試512m-4G:-n 512m –g 4G;
-y –q 指定測試塊的大小范圍;
-R 產生excel到標准輸出;
-b 制定將結果輸出到制定文件上,比如:-Rb test.xls;
四、-i N詳細介紹
N代表數字,不同的數字,則代表不同的測試模式,可以同時執行多個模式
0 |
write/rewrite |
1 |
read/re-read |
2 |
random read/random write |
3 |
backwards read |
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-preadv |
四、搭建
1、 下載安裝包iozone3_482.tar
去官網下載iozone源碼包,然后編譯適合自己的target的執行文件。
# tar -xvf iozone3_482.tar
2、 安裝gcc
掛載linux(我使用虛擬機操作)鏡像文件。進入yum源目錄,安裝gcc包
# [root@localhost KYLIN]# yum install gcc-4.4.7-4.ky3.x86_64.rpm
五、使用
1、進入iozone安裝目錄current目錄
/root/iozone3_482/src/current,每個人根據自己實際安裝地址。
2、 make linux
在current目錄下,執行make linux執行
3、 執行
在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。