1. 程式人生 > >ceph儲存 ceph叢集效能測試iozone

ceph儲存 ceph叢集效能測試iozone

iozone工具常用引數

常用引數解釋:

-a  auto mode產生檔案大小16K-512M,記錄大小4K-16M的輸出結果;

-e  計算時間時算上fflush,fsync的時間;

-f  指定臨時測試檔案;

-s  指定測試檔案大小;

-r  指定測試記錄大小;

-g –n 指定auto模式下,最大/小測試檔案大小;

-q –y 指定auto模式下,最大/小測試記錄大小;

-i  指定特定的測試操作:

     (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=randommix, 9=pwrite/Re-pwrite, 10=pread/Re-pread, 11=pwritev/Re-pwritev, 12=preadv/Repreadv)

-I  指定direct io操作;

-p  清除cpu cache影響;

-O  輸出IOPS值;

-R  生成excel報告檔案;

-W  讀寫之前鎖定檔案;

對於-i選項具體含義

  • write:指測試建立並寫入一個新檔案,因為建立一個新檔案不僅包括檔案的資料,還要包括在檔案系統上追蹤到檔案所在的額外開銷資訊,這類資訊被成為metadata,通常包括目錄資訊,空間分配,以及其他的一些內容,因此這一項的效能會比rewrite
    的效能弱
  • rewrite:測試寫入一個已存在的檔案的效能,由於不需要動那個metadata,所以,這項的效能比write會高
  • read:測試讀取一個已存在檔案的速度
  • reread:測試讀取一個最近讀取過的檔案,由於作業系統會快取,所以數值會比read
  • Random read:測試隨機從一個檔案中的不同位置的訪問的效能,這項會被系統的catch,磁碟數量,訪問延遲等因素影響
  • Random write:同上,讀換成寫而已
  • Random Mix:測試隨機的從一個檔案的不同位置進行讀寫操作,影響因素同上,這個測試只能在throughput模式下跑。每個執行緒/程序只會進行讀取或者寫入,而非同時讀寫。讀寫分佈於程序間的輪轉排程之中,所以這個操作需要多個執行緒
    /程序
  • Backwards Read:測試逆序讀取檔案,這種方式常被程式使用,MSC     Nastran是一個這種方式的範例,通常它的檔案也是gbtb級別的,雖然很多現有的作業系統優化了順序讀取檔案的效能,但是很少有系統優化逆序讀取檔案的效能
  • Record Rewrite:測試對檔案的一個特定的熱點進行寫入和rewrite操作,熱點是一個比較有趣的現象,當熱點小到和cpu的資料快取差不多的時候會異常的快。但是當大於cpu的資料快取同時小於TLB的時候速度會在另一個數量級,這個現象在熱點在作業系統快取左右的時候也會有同樣的現象出現。
  • Strided Read:測試按照某種步進的方式讀取檔案的效能,比如讀4k然後跳過200k再讀4k再一直重複這種。這樣的行為在檔案儲存了某些資料結構的時候是常見的。這個表現通常沒有被作業系統優化,而且也常常是程式的效能瓶頸所在。
  • fwrite:測試使用庫函式fwrite()的寫入效能,這個庫函式是作業系統中常用的,而且使用在使用者地址空間內的buffer
  • frewrit:類似上一個,區別同writerewrite
  • fread
  • freread:類似fwrite,區別同readreread

示例解釋

./iozone -i 0 -i 1 -Rab~/test-iozone.xls -g 4g -n 1M -C

-R表示建立excel報告,-a表示自動模式 -b表示指定excel報告檔案的名字 

-i指定測試的內容如下:(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-preadv) 

-g指定測試用的最大檔案的大小 

-n指定測試用的最小檔案的大小 

-C指定顯示每個節點的吞吐量 

常用測試用例

針對檔案系統的測試可以按一下幾項執行操作:

1.多執行緒下的同步I/O讀寫測試

分別針對128K,16M,256M,2G檔案大小和8程序,64程序,128程序數進行測試

主要測試檔案寫和重複寫、讀和重複讀、隨即讀寫、後向讀、檔案內隨即點寫、大間隔檔案點讀、檔案內的隨即點讀寫等測試項,記錄大小1M cpu cache2048kbyte。

1.1 128k 檔案效能測試:

1.1.1 8程序檔案效能測試

測試命令為:

Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048 –G –o –B > test-128k-8-g.txt

1.1.2 64程序檔案效能測試

測試命令為:

Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048 –G –o –B > test-128k-64-g.txt

1.1.3 128程序檔案效能測試

測試命令為:

Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048 –G –o –B > test-128k-128-g.txt

1.216M檔案效能測試

1.2.18程序檔案效能測試:

測試命令為:

Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048 –G –o –B > test-16m-8-g.txt

1.2.264程序檔案效能測試:

測試命令為:

Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –G –o –B >test-16m-64-g.txt

1.2.3128程序檔案效能測試:
測試命令為:

Iozone –s 16M –i0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –G –o –B >test-16m-128-g.txt

1.3256M檔案效能測試

1.3.18程序檔案效能測試

測試命令為:

Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –G –o –B >test-256m-8-g.txt

1.3.264程序檔案效能測試:

測試命令為:

Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –G –o –B >test-256m-64-g.txt

1.3.3128程序檔案效能測試:

測試命令為:

Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –G –o –B >test-256m-128-g.txt

1.42G檔案效能測試

1.4.18程序檔案效能測試:

測試命令為:

Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –G –o –B > test-2G-8-g.txt

1.4.2 64程序檔案效能測試:

測試命令為:

Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64  –r 1m –S 2048  –G –o –B >test-2G-64-g.txt

1.4.3 128程序檔案效能測試:

測試命令為:

Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –G –o –B >test-2G-128-g.txt

2.多執行緒下的非同步I/O讀寫測試

分別針對128K,16M,256M,2G檔案大小和8程序,64程序,128程序數進行測試

主要測試檔案寫和重複寫、讀和重複讀、隨即讀寫、後向讀、檔案內隨即點寫、大間隔檔案點讀、檔案內的隨即點讀寫等測試項。

2.1128k 檔案效能測試:

2.1.1 8程序檔案效能測試:

測試命令為:

Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B >test-128k-8-d.txt

2.1.264程序檔案效能測試:

測試命令為:

Iozone –s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B >test-128k-64-d.txt

2.1.3128程序檔案效能測試:

測試命令為:

Iozone–s 128k –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D–o –B > test-128k-128-d.txt

2.216M檔案效能測試

2.2.18程序檔案效能測試:

測試命令為:

Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B >test-16m-8-d.txt

2.2.264程序檔案效能測試:

測試命令為:

Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B >test-16m-64-d.txt

2.2.3128程序檔案效能測試:

測試命令為:

Iozone –s 16M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B >test-16m-128-d.txt

2.3256M檔案效能測試

2.3.18程序檔案效能測試:

測試命令為:

Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B >test-256m-8-d.txt

2.3.264程序檔案效能測試:

測試命令為:

Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B >test-256m-64-d.txt

2.3.3128程序檔案效能測試:

測試命令為:

Iozone –s 256M –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B >test-256m-128-d.txt

2.42G檔案效能測試

2.4.18程序檔案效能測試:

測試命令為:

Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 8 –r 1m –S 2048  –D –o –B > test-2G-8-d.txt

2.4.264程序檔案效能測試:

測試命令為:

Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 64 –r 1m –S 2048  –D –o –B >test-2G-64-d.txt

2.4.3128程序檔案效能測試:

測試命令為:

Iozone –s 2G –i 0 –i 1 –i 2 –i 3 –i 4 –i 5 –i 8 –t 128 –r 1m –S 2048  –D –o –B >test-2G-128-d.txt

Writer Report

        4       8       16      32      64

32768  5300    8166    12726   1670224441

65536  5456    8285    9630    1610118679

131072 5539    6968   9453    1308614136

262144 5088    7092   9634    1160214776

524288 5427    9356   10502   1305613865

1048576 6061   9625    11528  12632 13466

解釋如下:

在Execl檔案中的這段表,它說明了這個表單是關於write的測試結果,左側一列是測試檔案大小(Kbytes),最上邊一行是記錄大小,中間資料是測試的傳輸速度。舉例說明,比如表中的“5300”,意思是測試檔案大小為32M,以記錄大小為4K來進行傳輸,它的傳輸速度為5300Kbytes/s

iozone是一個檔案系統的benchmark工具,可以測試不同的作業系統中檔案系統的讀寫效能。 可以測試 Read, write, re-read,re-write, read backwards, readstrided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等等不同的模式下的硬碟的效能。 測試的時候請注意,設定的測試檔案的大小一定要大過你的記憶體(最佳為記憶體的兩倍大小),不然linux會給你的讀寫的內容進行快取。會使數值非常不真實。

1安裝編輯

首先從官方下載最新的iozone原始碼包,然後編譯適合自己target的執行檔案。

#tar iozone3_347.tar

#cd iozone3_347/src/current

#make linux (直接執行make 有幫助選項)

2常用引數編輯

-a 全面測試,比如塊大小它會自動加

-i N 用來選擇測試項, 比如Read/Write/Random比較常用的是0 12,可以指定成-i 0-i 1 -i2.這些別的詳細內容請查man

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-preadv

-r block size 指定一次寫入/讀出的塊大小

-s file size 指定測試檔案的大小

-f filename 指定測試檔案的名字,完成後會自動刪除(這個檔案必須指定你要測試的那個硬碟中)

-F file1 file2... 指定多執行緒下測試的檔名

批量測試項:

-g -n 指定測試檔案大小範圍,最大測試檔案為4G,可以這樣寫 -g 4G

-y -q 指定測試塊的大小範圍

輸出:

下面是幾個日誌記錄的引數.好像要輸出成圖象進行分析,需要指定-a的測試才能輸出

-R 產生Excel到標準輸出

-b 指定輸出到指定檔案上. 比如 -Rb ttt.xls

3測試例項編輯

#./iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f/mnt/iozone -Rb ./iozone.xls

注:進行全面測試.最小測試檔案為512M直到測試到4G.測試read,write,和StridedRea

測試結果圖片

d.測試的地方在mnt下。生成Excel的檔案.

./iozone -i 0 -i 1 -f /iozone.tmpfile -Rab /test-iozone.xls-g 8G -n 4G -C

結果分析:

使用這條測試命令測試NAS後,我對下邊產生的Execl檔案中的一段表進行下解釋,很簡單的:

Writer Report

4

8

16

32

64

32768

5300

8166

12726

16702

24441

65536

5456

8285

9630

16101

18679

131072

5539

6968

9453

13086

14136

262144

5088

7092

9634

11602

14776

524288

5427

9356

10502

13056

13865

1048576

6061

9625

11528

12632

13466

在Execl檔案中的這段表,它說明了這個表單是關於write的測試結果,左側一列是測試檔案大小(Kbytes),

最上邊一行是記錄大小,中間資料是測試的傳輸速度。舉例說明,比如表中的“5300”,意思是測試檔案大小為

32M,以記錄大小為4K來進行傳輸,它的傳輸速度為5300 Kbytes/s

4測試的定義編輯

Write: 測試向一個新檔案寫入的效能。當一個新檔案被寫入時,不僅僅是那些檔案中的資料需要被儲存,還包括那些用於定位資料儲存在儲存介質的具體位置的額外資訊。這些額外資訊被稱作“元資料”。它包括目錄資訊,所分配的空間和一些與該檔案有關但又並非該檔案所含資料的其他資料。拜這些額外資訊所賜,Write的效能通常會比Re-write的效能低。

Re-write: 測試向一個已存在的檔案寫入的效能。當一個已存在的檔案被寫入時,所需工作量較少,因為此時元資料已經存在。Re-write的效能通常比Write的效能高。

Read: 測試讀一個已存在的檔案的效能。

Re-Read: 測試讀一個最 近讀過的檔案的效能。Re-Read效能會高些,因為作業系統通常會快取最 近讀過的檔案資料。這個快取可以被用於讀以提高效能。

Random Read: 測試讀一個檔案中的隨機偏移量的效能。許多因素都可能影響這種情況下的系統性能,例如:作業系統快取的大小,磁碟數量,尋道延遲和其他。

Random Write: 測試寫一個檔案中的隨機偏移量的效能。同樣,有許多因素可能影響這種情況下的系統性能,例如:作業系統快取的大小,磁碟數量,尋道延遲和其他。

Random Mix: 測試讀寫一個檔案中的隨機偏移量的效能。許多因素可能影響這種情況下的系統性能運作,例如:作業系統快取的大小,磁碟數量,尋道延遲和其他。這個測試只有在吞吐量測試模式下才能進行。每個執行緒/程序執行讀或寫測試。這種分散式讀/寫測試是基於round robin 模式的。最好使用多於一個執行緒/程序執行此測試。

Backwards Read: 測試使用倒序讀一個檔案的效能。這種讀檔案方法可能看起來很可笑,事實上,有些應用確實這麼幹。MSC Nastran是一個使用倒序讀檔案的應用程式的一個例子。它所讀的檔案都十分大(大小從G級別到T級別)。儘管許多作業系統使用一些特殊實現來優化順序讀檔案的速度,很少有作業系統注意到並增強倒序讀檔案的效能。

Record Rewrite: 測試寫與覆蓋寫一個檔案中的特定塊的效能。這個塊可能會發生一些很有趣的事。如果這個塊足夠小(比CPU資料快取小),測出來的效能將會非常高。如果比CPU資料快取大而比TLB小,測出來的是另一個階段的效能。如果比此二者都大,但比作業系統快取小,得到的效能又是一個階段。若大到超過作業系統快取,又是另一番結果。

Strided Read: 測試跳躍讀一個檔案的效能。舉例如下:在0偏移量處讀4Kbytes,然後間隔200Kbytes,讀4Kbytes,再間隔200Kbytes,如此反覆。此時的模式是讀4Kbytes,間隔200Kbytes並重復這個模式。這又是一個典型的應用行為,檔案中使用了資料結構並且訪問這個資料結構的特定區域的應用程式常常這樣做。

許多作業系統並沒注意到這種行為或者針對這種型別的訪問做一些優化。同樣,這種訪問行為也可能導致一些有趣的效能異常。一個例子是在一個數據片化的檔案系統裡,應用程式的跳躍導致某一個特定的磁碟成為效能瓶頸。

Fwrite: 測試呼叫庫函式fwrite()來寫檔案的效能。這是一個執行快取與阻塞寫操作的庫例程。快取在使用者空間之內。如果一個應用程式想要寫很小的傳輸塊,fwrite()函式中的快取與阻塞I/O功能能通過減少實際作業系統呼叫並在作業系統呼叫時增加傳輸塊的大小來增強應用程式的效能。

這個測試是寫一個新檔案,所以元資料的寫入也是要的。

Frewrite:測試呼叫庫函式fwrite()來寫檔案的效能。這也是一個執行快取與阻塞寫操作的庫例程。是快取在使用者空間之內。如果一個應用程式想要寫很小的傳輸塊,fwrite()函式中的快取與阻塞I/O功能可以通過減少實際作業系統呼叫並在作業系統呼叫時增加傳輸塊的大小來增強應用程式的效能。

這個測試是寫入一個已存在的檔案,由於無元資料操作,測試的效能會高些。

Fread:測試呼叫庫函式fread()來讀檔案的效能。這是一個執行快取與阻塞讀操作的庫例程。快取在使用者空間之內。如果一個應用程式想要讀很小的傳輸塊,fwrite()函式中的快取與阻塞I/O功能能通過減少實際作業系統呼叫並在作業系統呼叫時增加傳輸塊的大小從而增強應用程式的效能。

幾個特殊測試:

Mmap:許多作業系統支援mmap()的使用來對映一個檔案到使用者地址空間。對映之後,對記憶體的讀寫將同步到檔案中去。這對一些希望將檔案當作記憶體塊來使用的應用程式來說很方便。一個例子是記憶體中的一塊將同時作為一個檔案儲存在於檔案系統中。

5命令列引數編輯

接下來解釋每個引數的用法。

Usage: iozone [-s filesize_Kb] [-r record_size_Kb ][-f [path]filename]

[-i 它們都是什麼意思 ?

-a

用來使用全自動模式。生成包括所有測試操作的報告,使用的塊 大小從4k到16M,檔案大小從64k到512M。

-A

使用mmap()檔案。這將使用mmap()介面來建立並訪問所有測試用的臨時檔案。一

些應用程式傾向於將檔案當作記憶體的一塊來看待。這些應用程式對檔案執行mmap()

呼叫,然後就可以以讀寫記憶體的方式訪問那個塊來完成檔案I/O。

計算時間時將close()包括進來。Thisis useful only if you suspect that close() is

broken in the operating system currently under test. 對於NFS版本3測試而言這將會

很有用,同時它也能幫助我們識別nfs3_commit 是否正常工作。

-d #

穿過“壁壘”時微秒級的延遲。在吞吐量測試中所有執行緒或程序在執行測試前都必

須掛起在一道“壁壘”之前。通常來說,所有執行緒或程序在同一時間被釋放。這個

引數允許在釋放每個程序或執行緒之間有一定的延遲(微秒級)。Microsecond delay out of barrier. During the throughputtests all threads or processes are

forced to a barrier before beginning the test.

-D

對mmap檔案使用msync(MS_ASYNC)。這告訴作業系統在mmap空間的所有資料

需要被非同步地寫到磁碟上。

-e

計算時間時將flush(fsync,fflush) 包括進來。

-E

用來進行一些擴充套件的測試。只在一些平臺上可用。使用pread 介面。

-f filename

用來指定測試時使用的臨時檔案的檔名。當使用unmount引數時這將很有用。測試時在每個測試之間進行unmount的話,測試使用的臨時檔案在一個可以被解除安裝的資料夾中是很有必要的。解除安裝當前工作目錄是不可能的,因為Iozone程序運行於此。

-F filename filename filename …

指定吞吐量測試中每個臨時檔案的檔名。檔名的數量應該和指定的程序或執行緒

數相同。

-g #

設定自動模式可使用的最大檔案大小(Kbytes)。

-G

對mmap檔案使用msync(MS_SYNC)。這告訴作業系統在mmap空間的所有資料

需要被同步地寫到磁碟上。

-h

顯示幫助。

-H #

使用POSIX非同步I/O介面中的#號非同步操作。Iozone使用POSIX非同步I/O介面,並使

用bcopy從非同步快取拷貝迴應用程式快取。一些版本的MSC NASTRAN就是這麼進

行I/O操作的。應用程式使用這一技術以便非同步I/O可以在一個庫中實現,而不需要

更改程式內模。

This technique is used by applications so that theasync

I/O may be performed in a library and requires nochanges to the applications internal model.

-i #

用來指定執行哪個測試。(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-preadv).

總是需要先進行0號測試以便後面的測試有檔案可以測試。

也支援使用-i #-i # -i # 以便可以進行多個測試。

-I

對所有檔案操作使用VxFSVX_DIRECT 。告訴VXFS檔案系統所有對檔案的操作將跨

過快取直接在磁碟上進行。

-j #

設定訪問檔案的跨度為 (#* 塊 大小).Stride read測試將使用這個跨度來讀塊 。

-J # (毫秒級)

在每個I/O操作之前產生指定毫秒的計算延遲。看 -X 和-Y來獲取控制計算延

遲的其他引數。

-k #

Use POSIX async I/O (no bcopy) with # asyncoperations. Iozone will use POSIX async

I/O and will not perform any extra bcopys. The buffersused by Iozone will be handed to

the async I/O system call directly.

-K

在普通測試時生成一些隨機訪問。

-l #

Set the lower limit on number of processes to run.When running throughput tests this

option allows the user to specify the least number ofprocesses or threads to start. This

option should be used in conjunction with the -uoption.

-L #

Set processor cache line size to value (in bytes).Tells Iozone the processor cache line size.

This is used internally to help speed up the test.

-m

Tells Iozone to use multiple buffers internally. Someapplications read into a single

buffer over and over. Others have an array of buffers.This option allows both types of

applications to be simulated. Iozone’s defaultbehavior is to re-use internal buffers.

This option allows one to override the default and touse multiple internal buffers.

-M

Iozone will call uname() and will put the string inthe output file.

-n #

為自動模式設定最小檔案大小(Kbytes)。

-N

報告結果以毫秒每操作的方式顯示。

-o

寫操作是同步寫到磁碟的。 (O_SYNC). Iozone 會以O_SYNC 標誌開啟檔案。這強制所有寫操作完全寫入磁碟後才返回測試。

-O

報告結果以操作每秒的方式顯示。

-p

This purges the processor cache before each fileoperation. Iozone will allocate another

internal buffer that is aligned to the same processorcache boundary and is of a size that

matches the processor cache. It will zero fill thisalternate buffer before beginning each test.

This will purge the processor cache and allow one tosee the memory subsystem without

the acceleration due to the processor cache.

-P #

Bind processes/threads to processors, starting withthis cpu #. Only available on some

platforms. The first sub process or thread will beginon the specified processor. Future processes or threads will be placed on thenext processor. Once the total number of cpus is exceeded then future processesor threads will be placed in a round robin fashion.

-q #

設定自動模式下使用的最大塊大小(Kbytes) 。也可以通過-q#k ( Kbytes) 或 -q#m ( Mbytes) 或 -q#g ( Gbytes)。設定最小塊大小見 –y 。

-Q

Create offset/latency files. Iozone will createlatency versus offset data files that can be

imported with a graphics package and plotted. This isuseful for finding if certain offsets

have very high latencies. Such as the point where UFSwill allocate its first indirect block.

One can see from the data the impacts of the extentallocations for extent based filesystems

with this option.

-r #

指定測試塊 大小,K位元組。也可以通過-r#k (Kbytes) 或 -r#m (Mbytes) 或 -r#g (Gbytes).

-R

生成Excel報告.Iozone將生成一個相容Excel的標準輸出報告。這個檔案可以使用

Microsoft Excel開啟,可以建立一個檔案系統性能的圖表。注意:3D圖表是面向列

的。畫圖時你需要選擇這項因為Excel預設處理面向行的資料。

-s #

指定測試檔案大小,K位元組。也可以通過-s#k (Kbytes) 或 -s#m (Mbytes) 或 -s#g (Gbytes).

-S #

Set processor cache size to value (in Kbytes). Thistells Iozone the size of the processor cache.

It is used internally for buffer alignment and for thepurge functionality.

-t #

以吞吐量模式執行Iozone。這一選項允許使用者指定測試時使用多少個執行緒或者程序。

-T

吞吐量測試時使用POSIX執行緒。僅在相容POSIX執行緒的平臺上可用。

-u #

Set the upper limit on number of processes to run.When running throughput tests this

option allows the user to specify the greatest numberof processes or threads to start.

This option should be used in conjunction with the -loption.

-U mountpoint

在測試之間解除安裝並重新掛載掛載點。這保證了快取cache不包含任何測試過的檔案。

-v

顯示Iozone的版本號。

-V #

Specify a pattern that is to be written to thetemporary file and validated for accuracy in

each of the read tests.

-w

當臨時檔案使用完畢時不刪除它們。把它們留在檔案系統中。

-W

讀或寫時鎖檔案。

-x

關閉“stone-walling”.Stonewalling 是Iozone內部使用的一種技術。它是在進行吞吐量測試時使用的。程式啟動所有執行緒或程序然後將它們暫停在“壁壘”前。

一旦它們都做好準備工作,它們將被同時釋放。當其中任何一個執行緒或程序完成工作,整個測試就終止了並計算到達這個點時所有I/O的吞吐量。這保證了整個測試進行時所有的程序和執行緒都是並行的。這個標誌位允許取消 stonewa