linux下穩定性測試軟件詳解

本文介紹了多款,linux系統下,服務器測試軟件。其中有很多不對的地方,請讀者指正。

一   SPEC2000

    SPEC CPU2000是由標準性能評價機構“The Standard Performance Evaluation Corporation (SPEC)”開發的用於評測CPU性能的基準程序測試組。處理器、內存和編譯器都會影響最終的測試結果,而I/O(磁盤)、網絡、操作系統和圖形子系統對SPEC CPU2000的影響非常小。目前,SPEC CPU2000是業界首選的CPU評測工具。
SPEC CPU2000包括CINT2000和CFP2000兩套基準測試程序,前者用於測量和對比CPU的定點性能,後者用於測量和對比浮點性能。CINT2000包含12個測試項目,CFP2000包含14個測試項目. 

   主要涉及到的硬件模塊:CPU、DDR、編譯器

   常用參數:




 SPEC2006

     和SPEC CPU 2000 一樣,SPEC CPU 2006 包括了

CINT2006 和C FP2006 兩個子項目,前者用於測量和對比整數性能,而後者則用於測量和
對比浮點性能,SPEC CPU 2006 中對SPEC CPU 2000 中的一些測試進行了升級,並拋棄/
加入了一些測試,因此兩個版本測試得分並沒有可比較性。

常用參數說明

runspec -c linux-mipsel-gcc -i test -n 1 all runspec  runspec 表示執行SPEC CPU2000基準程序開始進行測試
-c 讀取測試配置文件,test.cfg位於SPEC CPU2000安裝目錄的config目錄下
-i 輸入測試數據集的大小,ref代表最大測試數據集,test代表最小測試數據集
-n 每個測試項目運行的次數,如果需要SPEC CPU2000自動計算測試分值,需要指定運行次數等於或大於3,即n>=3
l 測試過程中如果某個用例發生錯誤,則跳過錯誤用例,繼續執行其他用例,如果不加該參數,程序運行過程出現錯誤時,SPEC CPU2000將停止測試
all SPEC CPU2006將運行基準測試程序中的所有測試項目
linux-mipsel-gcc:配置文件 包括硬件 軟件、以及其他配置等 HW config HW config
 hw_cpu_name  = Loongson
 hw_model     = 3A
 hw_cpu_mhz   = 800
 hw_fpu       = Integrated
 hw_nchips       = 1
 hw_ncores       = 4
 hw_ncoresperchip= 4
 hw_nthreads     = 1
 hw_ncpuorder = 1
 hw_parallel  = no
 hw_pcache    = 64KB I + 64KB D
 hw_scache    = 4MB(I + D)
 hw_memory       = 2 x 1GB DDR333 
 hw_vendor       = ICT
SW config sw_os        = Debian
sw_file      = ext3
sw_state     = runlevel 3
sw_compiler  = gcc , g++ & gfortran 4.3
其他配置 暫不一一列舉


三  Dbench

    Dbench 是一個很模擬文件服務測試工具,通過產生I/O 負載來測試本地文件系統或者
網絡文件系統。使用了 18 種不同類型的 I/O 調用,包括打開文件、讀、寫、鎖定、解鎖、獲取文件屬性、設置文件屬性、關閉、獲取磁盤可用空間、獲取文件時間、設置文件時間、“查找”打開、“查找”下一個、“查找”關閉、重命名文件、刪除文件、創建新文件和清空文件緩衝區。 
     dbench 可以模擬任何數量的客戶機,而不必進行物理設置。dbench 只產生文件系統負載,它沒有聯網調用。運行期間,每個客戶機記錄所移動的數據字節數並將該數除以移動該數據所需的時間量。然後累加所有的客戶機吞吐量數以確定該服務器的總吞吐量。總的 I/O 吞吐量分數表示測試期間每秒鐘所傳送的兆字節數。這個測量說明該服務器對來自客戶機的文件請求的處理質量。 
  dbench 非常適合於對超線程的測試,因爲它對 CPU 和 I/O 調度程序創建了大量負載和活動。dbench 可以嚴格測試超線程支持多線程文件服務的能力,因爲客戶機同時創建和訪問許多文件。每個客戶機必須創建相當於大約 21 兆字節的測試數據文件。對於要運行 20 個客戶機的測試,預計要大約 420 兆字節的數據。對於測量 Linux 文件系統所用的電梯算法性能,dbench 被認爲是非常不錯的測試方法。dbench 用於測試該算法的工作正確性,並測試電梯的反應是否足夠快速。它還是很有趣的頁面替換測試。
client.txt的文件來自網絡嗅探器轉儲一個真正的NetBench運行。 client.txt約4MB,包含了90000次操作一個的NetBench客戶端做在NetBench中一個典型的運行。它們解析client.txt,並用它來生產相同的負載,達到模擬任意數量的併發客戶端的目的
dbench只產生的文件系統負載。它所有的相同的IO調用,不同於Samba smbd服務器面臨着NetBench運行,它沒有網絡調用。
tbench:產生的TCP和處理負載。它的作用是相同的插座SMBD會進行NetBench負載的調用。它沒有文件系統通話。背後的想法是tbench在NetBench
測試中消除smbd,雖然SMBD代碼可以infinately加速。 “吞吐量的tbench結果顯示NetBench運行速度。

    主要設計到的硬件模塊:CPU、IO、SATA

參數設置參考:

-v 顯示版本
-t 設定運行時間
-D 在基礎目錄下運行
-c 設定load文件的路徑
-s 同步IO文件
-S 同步IO文件夾
-x 設置支持EA
-T 爲tbench設置套接字選項
nproces clients 數量
 

四 unixbench

UNIXBENCH 也是linux、unix 測試系統基準性能的經典工具,UNIXBENCH 測試包含
了系統調用、讀寫、進程、2D、3D、管道、運算、C 庫等系統基準性能,它的優點在於提
供了對系統性能的一種評價體系,爲系統評分,如此方便對系統作對比測試;但UNIXBENCH
在網絡性能測試欠缺。 UNIXBENCH 測試內容包含了system、2D、3D、misc 測試項。system
測試系統的一些基本功能;2D 測試2D 圖形加速;3D 測試3D 加速;misc 測試諸如字符,
整型等測試。

   其中設計到測試模塊,

Dhrystone
用來計算和比較計算機性能的。由於沒有浮點操作,這個測試主要集中在字符串處理上。這個測試深受以下因素的影響:硬件和軟件設計,編譯程序和鏈接程序選項,代碼優化,高速緩衝存儲器,等待狀態和整數數據類型。
Whetstone
測量浮點運算速度和效率。這個測試包含幾個模塊,這些模塊被認爲是:典型運用在科學應用中的操作組成的混合體。 各種各樣的C函數,包括sin、cos、sqrt、exp和log還有整形,浮點算術操作、數組訪問、條件轉移和過程調用,都使用了。 整數和浮點算術,在這個測試中都會計算。
Execl Throughput
計算每秒鐘出現的execl調用數。Execl 是 exec函數家族的一部分。它用一個新的進程映像更新當前的進程映像。 它和許多其他相似的命令都是execve()的前端程序。
File Copy
這個測試測量使用不同的緩衝區大小時,數據可以從一個文件被傳輸到另一個的速率。文件的讀寫複製測試可以獲得在指定時間內(默認爲10秒)能夠讀、寫、複製的字符數目。
Pipe Throughput
管道是進程間通信最簡單的方式之一。管道吞吐量指的是每秒中,一個進程能將512個字節數據寫入管道和從管道中回讀它們的次數。這個測試在真實的程序設計中並沒有對應物。
Pipe-based Context Switching
計算兩個進程通過管道交換一個增長的整數的次數。基於管道的上下文切換測試更像一個真實的應用程序。這個測試產生一個可以用來繼續雙向管對話的子進程。
Process Creation
計算一個進程派生和收穫一個馬上退出的子進程的次數。由於進程創建涉及創建進程控制塊和爲新的進程分配內存,因此這項測試直接取決於內存帶寬。這個測試一般地會用於比較各種各樣的操作系統進程創建調用的執行。
Shell Scripts
測量每秒進程能夠啓動和收穫一組1,2,4,8個shell腳本程序的並行的拷貝的次數。
System Call Overhead
這個測試是估算進入和離開操作系統內核的開銷。例如執行一個系統調用的開銷。它由一個簡單的系統組成,這個系統重複的調用getid系統調用,getid返回調用進程的進程IS號。這個測試是用執行這些調用的時間來估算進入和離核的開銷。
Graphical Tests
這個測試提供了2D,3D的圖形化測試。報告性能不僅依賴於硬件,還與系統是否對硬件有合適的驅動程序有關 。

 測試涉及到硬件模塊包括:CPU 、內存、顯卡、系統(編譯器、文件傳輸等)

參數設置如下:

  ./Run 運行一個標準的“指數”的測試(“字節指數”),將報告保存在“結果”目錄下
   ./Run gindex 生成系統的基本指標和圖形指數
  說明 一個以上的CPU,測試將被運行兩次 - 一次單一個拷貝的每個測試運行一次,而一旦與N份,其中N是的CPU的數量。有些類別的測試,但是(目前圖形測試)將只運行一個單一的副本。
因爲測試是根據一定時間(變量工作),“系統”運行通常需要約29分鐘的“圖形”部分約18分鐘。A“gindex一個雙核的機器上運行”2“系統”通過(單和雙重處理的)和一個“圖形”運行,共約15分鐘。
參數設置 -q quiet模式運行
-v verbose模式運行
-i(count) 運行圈數,至少爲1,默認爲10
-c(n) 一次測試運行的腳本數,-c可以多次使用如: ./Run -c 1 -c 4
Run文件內部測試項 system linux最初的系統測試(不是索引中全部的)
 2d  2D圖形測試
3d 立體圖形測試
 misc   各種非索引測試
system測試細項 dhry2reg  :Dhrystone 2使用寄存器變量
whetstone-double:雙精度Whetstone
syscall:系統調用開銷
 pipe:管道吞吐量
context1:基於管道的上下文切換
 spawn:創建子進程
execl:表格吞吐量
fstime -w:File Write 1024 bufsize 2000 maxblocks
fstime -r:File Read 1024 bufsize 2000 maxblocks
fstime:File Copy 1024 bufsize 2000 maxblocks
 fsbuffer-w  : File Write 256 bufsize 500 maxblocks
 fsbuffer-r:File Read 256 bufsize 500 maxblocks
     fsbuffer :File Copy 256 bufsize 500 maxblocks
fsdisk-w : File Write 4096 bufsize 8000 maxblocks
fsdisk-r: File Read 4096 bufsize 8000 maxblocks
              fsdisk: File Copy 4096 bufsize 8000 maxblocks
shell1:Shell Scripts (1 concurrent) (runs "looper 60 multi.sh 1")
 shell8 :Shell Scripts (8 concurrent) (runs "looper 60 multi.sh 8")
  shell16:Shell Scripts (8 concurrent) (runs "looper 60 multi.sh 16")
2D測試細項 2d-rects:2D圖形矩形  
2d-lines  2D圖形:線       
2d-circle2D圖形:圓        
2d-ellipse  2D圖形:橢圓    
2d-shapes 2D圖形:多邊形
2d-aashapes2D圖形:aa 多邊形   
2d-polys2D圖形:複雜的多邊形     
2d-text 2D圖形:文字     
2d-blit2D圖形:圖形圖像和塊傳輸          
2d-window 2D圖形:窗口
 
3D測試細項 ubgears:齒輪
 其他  C:C編譯器吞吐量 
short:短整型數運算測試
int:整型運算測試
    long:長整型數運算
float:浮點運算
double float:雙精度浮點運算
dc:Dc: sqrt(2) to 99 decimal places (runs
                     "looper 30 dc < dc.dat", using your system's copy of "dc")
 hanoi:遞歸測試(漢諾塔)
grep:grep一個大文件中的一個字符串
 sysexec :調用fork()和exec()函數
一些參數別名 arithmetic : Runs arithoh, short, int, long, float, double ,and whetstone-double
dhry:             Alias for dhry2reg
    dhrystone:        Alias for dhry2reg
 whets:            Alias for whetstone-double
whetstone:        Alias for whetstone-double
    load :            Runs shell1, shell8, and shell16
misc:             Runs C, dc, and hanoi
speed:  Runs the arithmetic and system groups
    oldsystem:Runs execl, fstime, fsbuffer, fsdisk, pipe, context1,spawn, and syscall
    system : Runs oldsystem plus shell1, shell8, and shell16
    fs: Runs fstime-w, fstime-r, fstime, fsbuffer-w,fsbuffer-r, fsbuffer, fsdisk-w, fsdisk-r, and fsdisk
    shell :           Runs shell1, shell8, and shell16
    index : Runs the tests which constitute the official index:
 the oldsystem group, plus dhry2reg, whetstone-double,shell1, and shellSee "The BYTE Index"information.
    graphics Runs the tests which constitute the graphics index:2d-rects, 2d-ellipse, 2d-aashapes, 2d-text, 2d-bli,2d-window, and ubgears
    gindex  Runs the index and graphics groups, to generate both
          sets of index resu  all              Runs all tests

五 iozone

iozone是一個文件系統的基準測試工具,可以全面測試不同操作系統中文件系統的讀寫性能。可以
測試 read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random
read, pread,mmap, aio_read, aio_write 等等不同模式下的硬盤性能。

 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功能能通過減少實際操作系統調用並在操作系統調用時增加傳輸塊的大小來增強應用程序的性能。
Freread: 這個測試與上面的fread 類似,除了在這個測試中被讀文件是最近纔剛被讀過。這將導致更高的性能,因爲操作系統緩存了文件數據。
幾個特殊測試:
Mmap:許多操作系統支持mmap()的使用來映射一個文件到用戶地址空間。映射之後,對內存的讀寫將同步到文件中去。這對一些希望將文件當作內存塊來使用的應用程序來說很方便。一個例子是內存中的一塊將同時作爲一個文件保存在於文件系統中。
mmap 文件的語義和普通文件略有不同。如果發生了對內存的存儲,並不是立即發生相應的文件I/O操作。使用MS_SYNC 和MS_ASYNC標誌位的 msyc()函數調用將控制內存和文件的一致性。調用msync() 時將MS_SYNC置位將強制把內存裏的內容寫到文件中去並等待直到此操作完成才返回。而MS_ASYNC 置位則告訴操作系統使用異步機制將內存刷新到磁盤,這樣應用程序可以直接返回而不用等待此操作的完成。
這個測試就是測量使用mmap()機制完成I/O的性能。
Async I/O: 許多操作系統支持的另外一種I/O機制是POSIX 標準的異步I/O。本程序使用POSIX標準異步I/O接口來完成此測試功能。
例如: aio_write(), aio_read(), aio_error()。這個測試測量POSIX異步I/O機制的性能。

主要涉及到硬件模塊如下:DDR SATA

參數設置如下:

-a 用來使用全自動模式。生成包括所有測試操作的報告,使用的塊 大小從4k到16M,文件大小從64k到512M。
-A 這種版本的自動模式提供更加全面的測試但是消耗更多時間。參數–a在文件不小於
32MB時將自動停止使用低於64K的塊大小測試。這節省了許多時間。而參數–A
則告訴Iozone你不介意等待,即使在文件非常大時也希望進行小塊 的測試。
-b Iozone輸出結果時將創建一個兼容Excel的二進制格式的文件。
-B 使用mmap()文件。這將使用mmap()接口來創建並訪問所有測試用的臨時文件。一
些應用程序傾向於將文件當作內存的一塊來看待。這些應用程序對文件執行mmap()
調用,然後就可以以讀寫內存的方式訪問那個塊來完成文件I/O。
-c 計算時間時將close()包括進來。This is useful only if you suspect that close() isbroken in the operating system currently under test. 對於NFS版本3測試而言這將會很有用,同時它也能幫助我們識別nfs3_commit 是否正常工作。
-C 顯示吞吐量測試中每個客戶傳輸的字節數。如果你的操作系統在文件I/O或進程管理方面存在飢餓問題時這將派上用場。
-d # 穿過“壁壘”時微秒級的延遲。在吞吐量測試中所有線程或進程在執行測試前都必
須掛起在一道“壁壘”之前。通常來說,所有線程或進程在同一時間被釋放。這個參數允許在釋放每個進程或線程之間有一定的延遲(微秒級)。Microsecond delay out of barrier. During the throughput tests all threads or processes areforced to a barrier before beginning the test.
-D 對mmap文件使用msync(MS_ASYNC) 。這告訴操作系統在mmap空間的所有數據需要被異步地寫到磁盤上。
-e 計算時間時將flush (fsync,fflush) 包括進來
-E 用來進行一些擴展的測試。只在一些平臺上可用。使用pread 接口。
-f 用來指定測試時使用的臨時文件的文件名。當使用unmount參數時這將很有用。測試時在每個測試之間進行unmount的話,測試使用的臨時文件在一個可以被卸載的文件夾中是很有必要的。卸載當前工作目錄是不可能的,因爲Iozone進運行於此。
-F 指定吞吐量測試中每個臨時文件的文件名。文件名的數量應該和指定的進程或線程數相同
-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 the async
I/O may be performed in a library and requires no changes to the applications internal model.
-i # 用來指定運行哪個測試。 (0=write/rewrite, 1=read/re-read, 2=random-read/write3=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 對所有文件操作使用VxFS VX_DIRECT 。告訴VXFS 文件系統所有對文件的操作將跨過緩存直接在磁盤上進行。
-j # 設置訪問文件的跨度爲 (# * 塊 大小). Stride read測試將使用這個跨度來讀塊 。
-J # (毫秒級) 在每個I/O操作之前產生指定毫秒的計算延遲。看 -X 和-Y來獲取控制計算延遲的其他參數。
-k # Use POSIX async I/O (no bcopy) with # async operations. Iozone will use POSIX async I/O and will not perform any extra bcopys. The buffers used by Iozone will be handed to the async I/O system call directly
-K 在普通測試時生成一些隨機訪問
-l # 設置以最少的進程數運行。運行時吞吐量測試選項,允許用戶指定數量最少的進程或線程開始。該選項應該與-u選項結合使用。
-L 設置處理器的高速緩存行的大小值(以字節爲單位)。告訴IOZONE處理器的高速緩存行的大小。這是內部使用,以幫助加快測試。
-m 告訴IOZONE內部使用多個緩衝區。一些應用程序讀取一遍又一遍單一的緩衝區。沒有用到其他備份緩衝區。此選項允許兩種類型的應用程序進行模擬。 IOZONE的默認行爲是重複使用的內部緩衝區。此選項允許一個默認情況外,使用多個內部緩衝區。
-M IOZONE調用uname(),並會在輸出文件中的字符串。
-n # 爲自動模式設置最小文件大小(Kbytes)。
-N 報告結果以毫秒每操作的方式顯示。
-o 寫操作是同步寫到磁盤的。 (O_SYNC). Iozone 會以O_SYNC 標誌打開文件。這強制所有寫操作完全寫入磁盤後才返回測試。
-O 報告結果以操作每秒的方式顯示。
-p 這將在每個文件的操作之前,清除該處理器​​的高速緩存。 IOZONE將會分配另一個和這個處理器的高速緩存邊界對齊的、和該內部緩衝區的大小的相匹配的處理器緩存。在每個測試之前,將零填補了這一替代緩衝區。這將清除處理器緩存並允許查看不需要處理器緩存加速的內存子系統
-P # 綁定進程/線程處理器到指定CPU。只適用於某些平臺。第一個子進程或線程將在指定的處理器運行。後續的進程或線程將被放置在下一個處理器。一旦CPU總數超過,後續的進程或線程將被放置在一個循環中。
-q # 設置自動模式下使用的最大塊大小(Kbytes) 。也可以通過-q #k ( Kbytes) 或 -q #m ( Mbytes) 或 -q #g ( Gbytes)。設置最小塊大小見 –y 
-Q Create offset/latency files. Iozone will create latency versus offset data files that can be imported with a graphics package and plotted. This is useful for finding if certain offsets have very high latencies. Such as the point where UFS will allocate its first indirect block.One can see from the data the impacts of the extent allocations for extent based filesystem with this option.
-r # 指定測試塊 大小,K字節。也可以通過-r #k (Kbytes) 或 -r #m (Mbytes) 或 -r #g (Gbytes).-R
-R 生成Excel報告. Iozone將生成一個兼容Excel的標準輸出報告。這個文件可以使用Microsoft Excel打開,可以創建一個文件系統性能的圖表。注意:3D圖表是面向列的。畫圖時你需要選擇這項因爲Excel默認處理面向行的數據。
-s # 指定測試文件大小,K字節。也可以通過-s #k (Kbytes) 或 -s #m (Mbytes) 或 -s #g (Gbytes).
-S # 將處理器高速緩存大小值(以KB爲單位)。這告訴IOZONE的處理器高速緩存的大小。
它內部使用的緩衝區對齊和清除功能。
-t # 以吞吐量模式運行Iozone。這一選項允許用戶指定測試時使用多少個線程或者進程。
-T 吞吐量測試時使用POSIX線程。僅在兼容POSIX線程的平臺上可用。
-u # 設置運行的進程數的上限。運行時吞吐量測試選項,​​允許用戶指定開啓的進程或線程的最大數目。此選項與-l選項一起使用。
-U 在測試之間卸載並重新掛載掛載點。這保證了緩存cache不包含任何測試過的文件
-v 顯示Iozone的版本號。
-V 指定一個圖案,將被寫入到臨時文件,並確認在每一個讀取測試的準確性。
-w 當臨時文件使用完畢時不刪除它們。把它們留在文件系統中。
-W 鎖定讀取或寫入時的文件。
-x 關閉“stone-walling”. Stonewalling 是 Iozone內部使用的一種技術。它是在進行吞吐量測試時使用的。程序啓動所有線程或進程然後將它們暫停在“壁壘”前。
一旦它們都做好準備工作,它們將被同時釋放。當其中任何一個線程或進程完成工作,整個測試就終止了並計算到達這個點時所有I/O的吞吐量。這保證了整個測試進行時所有的進程和線程都是並行的。這個標誌位允許取消stonewalling並看看會發生什麼。
-X Use this file for write telemetry information. The file contains triplets of information: Byte offset, size of transfer, compute delay in milliseconds. This option is useful if one has taken a system call trace of the application that is of interest. This allows Iozone to replicate the I/O operations that this specific application generates and provide benchmark results for this file behavior. (if column 1 contains # then the line is a comment)
-y # y 。 設置自動模式下使用的最小塊大小(Kbytes) 。也可以通過-y #k ( Kbytes) 或 -y #m ( Mbytes) 或 -y #g ( Gbytes)。設置最大塊大小見 –
-Y Use this file for read telemetry information. The file contains triplets of information: 
Byte offset, size of transfer, compute delay in milliseconds.  This option is useful if one has 
taken a system call trace of the application that is of interest.  This allows Iozone to replicate the I/O operations that this specific application generates and provide benchmark results for this file behavior. (if column 1 contains # then the line is a comment)
-z Used in conjunction with -a to test all possible record sizes. Normally Iozone omits testing
of small record sizes for very large files when used in full automatic mode. This option forces
Iozone to include the small record sizes in the automatic tests also.
-Z 啓動混合 mmap I/O 和文件 I/O.
-+m Use this file to obtain the configuration information of the clients for cluster testing. The file contains one line for each client. Each line has three fields. The fields are space delimited. A # sign in column zero is a comment line. The first field is the name of the client. The second field is the path, on the client, for the working directory where Iozone will execute. The third field is the path, on the client, for the executable Iozone.To use this option one must be able to execute commands on the clients without being challenged for a password. Iozone will start remote execution by using “rsh
-+u Enable CPU utilization mode
-+d 啓動診斷模式。在這一模式下每個字節都將被驗證。這在懷疑I/O子系統出錯時有用。
-+p Set the percentage of the thread/processes that will perform random read testing. Only valid in throughput mode and with more than 1 process/thread
-r Enable O_RSYNC and O_SYNC for all I/O testing.
-+t 啓動網絡性能測試。需要 -+m
-+A Enable madvise. 0 = normal, 1=random, 2=sequential, 3=dontneed, 4=willneed.
For use with options that activate mmap() file I/O. See: -B
未完待續

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章