iozone文件系統測試工具

IOZONE(1)通用命令手冊IOZONE(1)

名稱
Iozone-文件系統標準測試工具

概要
Iozone [-a|-A] [-s filesize_Kb] [-r record_size_Kb] [-f [path]filename] [-i test] [-E] [-p] [-m] [-M] [-t children] [-h] [-o] [-l min_number_procs] [-u max_number_procs] [-v] [-R] [-x] [-d
microseconds] [-F path1 path2…] [-V pattern ] [-j stride] [-T] [-C] [-B] [-D] [-G] [-I] [-H depth] [-k depth] [-U mount_point] [-S cache_size] [-O] [-L line_size] [-K] [-N] [-Q] [-P start_cpu]
[-c] [-e] [-b Excel.xls] [-J milliseconds] [-X [path]filename] [-Y [path]filename] [-w] [-W] [-z] [-Z] [-n min_filesize_Kb] [-g max_filesize_Kb] [-y min_recordsize_Kb] [-q max_recordsize_Kb] [-+d]
[-+u] [-+m client_filename] [-+n] [-+N] [-+p percent_read] [-+r] [-+t] [-+l] [-+L] [-+D] [-+A madvise_selector] [-+h hostname] [-+T] [-+w Percent de-dupable.]

描述
Iozone是文件系統基準測試工具。基準測試生成並衡量各種文件操作。 Iozone已被移植到許多機器上並在許多操作系統下運行。本文檔將介紹經過測試的許多不同類型的操作以及所有命令行選項。

   Iozone對於確定供應商的計算機平臺的廣泛文件系統分析很有用。基準測試將文件I / O性能用於以下操作。

             讀取,寫入,重新讀取,重新寫入,向後讀取,跨步讀取,讀取,寫入,隨機讀取/寫入,前置/寫入變體
             Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read/write, pread/pwrite variants

   儘管通常在購買計算機時會考慮到某個應用程序,但隨着時間的流逝,應用程序組合也可能會發生變化。許多供應商已經增強了其操作系統,以使某些常用應用程序具有良好的性能。儘管這可以加快少數幾個應用程序的I / O速度,但系統可能也無法很好地應對操作系統未針對的其他應用程序。這種類型的增強功能的一個示例是:數據庫。許多操作系統已經測試並調整了文件系統,因此它可以很好地與數據庫一起使用。儘管數據庫用戶感到滿意,但其他用戶可能並不滿意,因爲整個系統可能會以犧牲所有其他用戶爲代價將所有系統資源提供給數據庫用戶。隨着時間的流逝,系統管理員可能會決定將更多辦公室自動化任務轉移到這臺機器上。現在,負載可能從隨機讀取器應用程序(數據庫)轉移到順序讀取器。用戶可能會發現運行此新應用程序時機器運行非常緩慢,並且對購買此平臺的決定不滿意。通過使用Iozone獲得廣泛的文件系統性能覆蓋範圍,購買者更有可能看到任何熱點或冷點,並選擇更加平衡的平臺和操作系統。

選項:

   -a用於選擇全自動模式。產生的輸出涵蓋所有測試的文件操作,記錄大小從4k到16M,文件大小從64k到512M。

   -A此版本的自動模式可提供更多的覆蓋範圍,但會花費大量時間。文件大小爲32M或更大時,-a選項將自動停止使用小於64k的傳輸大小。這樣可以節省時間。 -A選項告訴Iozone,即使文件很大,您也願意等待並希望爲小規模傳輸提供密集的覆蓋。注意:Iozone 3.61版不建議使用此選項。請改用-az -i 0 -i 1。

   -b filename
          用於指定文件名,該文件名將用於輸出包含結果的Excel兼容文件。

   -B使用mm​​ap()文件。這將導致所有要測量的臨時文件都通過mmap()接口創建和訪問。一些應用程序傾向於將文件視爲內存陣列。
          這些應用程序mmap()文件,然後僅通過加載和存儲訪問陣列以執行文件I / O。

   -c在時序計算中包括close()。僅當您懷疑在當前正在測試的操作系統中close()損壞時,此功能纔有用。這對於NFS版本3測試也很有用,有助於確定nfs3_commit是否運行良好。

   -C顯示吞吐量測試中每個子進程傳輸的字節。如果您的操作系統在文件I / O或進程管理中有任何飢餓問題,該功能將非常有用。

   -d # 微秒延遲超出障礙。在吞吐量測試期間,在開始測試之前,所有線程或進程都被強制設置爲障礙。通常,所有線程或進程都在同一時間釋放。此選項允許在釋放每個進程或線程之間延遲指定的時間(以微秒爲單位)。

   -D在mmap文件上使用msync(MS_ASYNC)。這告訴操作系統,mmap空間中的所有數據都需要異步寫入磁盤。

   -e在時序計算中包括刷新(fsync,fflush)

   -E用於選擇擴展測試。僅在某些平臺上可用。使用前置界面。

   -f filename
          用於指定被測臨時文件的文件名。當使用unmount選項時,這很有用。在兩次測試之間進行卸載時,被測試的臨時文件必須位於可以卸載的目錄中。由於進程Iozone正在此目錄中運行,因此無法卸載當前工作目錄。

   -F filename文件名filename?
          指定在吞吐量測試中使用的每個臨時文件名。名稱的數量應等於指定的進程或線程的數量。

   -g # 設置自動模式的最大文件大小(以KB爲單位)。也可以指定-g #k(以KB爲單位)或-g #m(以MB爲單位)或-g #g(以GB爲單位)。有關最小文件大小,請參見-n。

   -G在mmap文件上使用msync(MS_SYNC)。這告訴操作系統,mmap空間中的所有數據都需要同步寫入磁盤。

   -h顯示幫助屏幕。

   -H # 將POSIX異步I / O與#異步操作一起使用。 Iozone將使用帶有bcopy的POSIX異步I / O,並將bcopy從異步緩衝區返回到應用程序緩衝區。某些版本的MSC NASTRAN以這種方式執行I / O。應用程序使用此技術,以便可以在庫中執行異步I / O,並且無需更改應用程序內部模型。

   -i # 用於指定要運行的測試。 (0 =寫入/重寫,1 =讀取/重新讀取,2 =隨機讀取/寫入,3 =向後讀取,4 =重寫記錄,5 =跨步讀取,6 = fwrite / re-fwrite ,7 =讀取/重新讀取,8 =混合工作量,9 =寫入/重新寫入,10 =讀取/重新寫入,11 =寫入/重新寫入,12 =讀取/重新讀取)(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=mixed workload,  9=pwrite/Re-pwrite,  10=pread/Re-pread,  11=pwritev/Re-pwritev, 12=preadv/Re-preadv)。一個總是需要指定0,以便以下任何測試將具有要測量的文件。還支持-i # -i # -i #,這樣一個人可以選擇多個測試。

   -I如果可能的話,對所有文件操作都使用DIRECT IO。告訴文件系統對文件的所有操作都將繞過緩衝區高速緩存並直接進入磁盤。 (並非在所有平臺上都可用)

   -j # 將文件訪問的步幅設置爲(#*記錄大小)。跨步讀取測試將在此跨步讀取記錄。

   -J # 每次I / O操作之前的毫秒延遲。這模擬了I / O操作之前的應用程序的cpu計算週期。也可以在每個I / O操作的基礎上使用-X或-Y來控制計算週期。

   -k # 對#異步操作使用POSIX異步I / O(無bcopy)。 Iozone將使用POSIX異步I / O,並且不會執行任何額外的bcopy。 Iozone使用的緩衝區將直接傳遞給異步I / O系統調用。

   -K在測試中注入一些隨機訪問。

   -l # 設置要運行的進程數的下限。在運行吞吐量測試時,該選項允許用戶指定最少數量的要啓動的進程或線程。此選項應與-u選項一起使用。

   -L # 將processor cache line size大小設置爲值(以字節爲單位)。告訴Iozone processor cache line size大小。在內部用於幫助加快測試速度。

   -m告訴Iozone在內部使用多個緩衝區。一些應用程序一遍又一遍地讀入單個緩衝區。其他的有一個緩衝區數組。此選項允許模擬兩種類型的應用程序。 Iozone的默認行爲是重複使用內部緩衝區。此選項允許覆蓋默認值並使用多個內部緩衝區。

   -M Iozone將調用uname()並將字符串放入輸出文件中。

   -n # 設置自動模式的最小文件大小(以KB爲單位)。還可以指定-n #k(以KB爲單位)或-n #m(以MB爲單位)或-n #g(以GB爲單位)。有關最大文件大小,請參見-g。

   -N報告結果以每次操作爲微秒。

   -o寫入將同步寫入磁盤。 (O_SYNC)。 Iozone將使用O_SYNC標誌打開文件。這將迫使所有對該文件的寫操作在返回基準之前完全進入磁盤。

   -O給出每秒操作數的結果。

   -p這將在每次文件操作之前清除處理器高速緩存。 Iozone將分配另一個內部緩衝區,該緩衝區與相同的處理器緩存邊界對齊,並且其大小與處理器緩存匹配。在開始每個測試之前,它將零填充此備用緩衝區。這將清除處理器高速緩存,並允許一個人看到內存子系統,而不會由於處理器高速緩存而加速。

   -P # 從此cpu#開始將進程/線程綁定到處理器。僅在某些平臺上可用。第一個子進程或線程將在指定的處理器上開始。將來的進程或線程將放置在下一個處理器上。一旦超過了cpus的總數,則以後的進程或線程將以循環方式放置。

   -q # 設置自動模式的最大記錄大小(以KB爲單位)。也可以指定-q #k(以KB爲單位)或-q #m(以MB爲單位)或-q #g(以GB爲單位)。有關最小記錄大小,請參見-y。

   -Q創建偏移/等待時間文件。 Iozone將創建可與圖形包一起導入並繪製的延遲與偏移數據文件。這對於查找某些偏移量是否具有很高的延遲很有用。例如UFS將分配其第一個間接塊的位置。使用此選項,可以從數據中看到擴展範圍對基於擴展盤區的文件系統的影響。

   -r # 用於指定要測試的記錄大小(以KB爲單位)。還可以指定-r #k(以KB爲單位)或-r #m(以MB爲單位)或-r #g(以GB爲單位)。

   -R生成Excel報告。 Iozone將生成Excel兼容的報告以將其標準化。該文件可以用Microsoft Excel(以空格分隔)導入,並用於創建文件系統性能的圖表。注意:3D圖形是面向列的。繪圖時需要選擇此選項,因爲Excel中的默認值是面向行的數據。

   -s # 用於指定要測試的文件的大小,以KB爲單位。還可以指定-s #k(以KB爲單位)或-s #m(以MB爲單位)或-s #g(以GB爲單位)。

   -S # 將處理器高速緩存大小設置爲值(以KB爲單位)。這告訴Iozone處理器緩存的大小。它在內部用於緩衝區對齊和清除功能。

   -t # 以吞吐量模式運行Iozone。該選項允許用戶指定在測量期間活動的線程或進程的數量。

   -T使用POSIX pthreads進行吞吐量測試。在具有POSIX線程的平臺上可用。

   -u # 設置要運行的進程數的上限。運行吞吐量測試時,該選項允許用戶指定要啓動的最大進程數或線程數。此選項應與-l選項一起使用。

   -U mountpoint(安裝點)
          要在測試之間卸載並重新安裝的安裝點。在開始每個測試之前,Iozone將卸載並重新安裝此安裝點。這樣可以保證緩衝區高速緩存不包含任何正在測試的文件。

   -v顯示Iozone的版本。

   -V # 指定一個模式,該模式將被寫入臨時文件並在每個讀取測試中均經過準確性驗證。

   -w在使用完臨時文件後,請勿取消鏈接。

   -W讀取或寫入時鎖定文件。

   -x關閉石牆。阻隔牆是內部用於Iozone的技術。在吞吐量測試期間使用它。該代碼啓動所有線程或進程,然後將它們停止在障礙上。一旦它們準備好開始,那麼它們將同時被釋放。任何線程或進程完成其工作的那一刻,整個測試就會終止並
          吞吐量是根據到目前爲止已完成的總I / O計算的。這樣可以確保在所有進程或線程並行運行時進行整個測量。這個標誌允許關閉石牆,看看會發生什麼。

   -X filename
          用於指定用於寫遙測信息的文件名。該文件包含偏移,大小,delay_in_milliseconds的行。這些線中的每條線都用於執行I / O操作。當已知應用程序的特定I / O操作並且希望使用此特定應用程序文件行爲對系統進行基準測試時,將使用此方法。

   -y # 設置自動模式的最小記錄大小(以KB爲單位)。還可以指定-y #k(以KB爲單位)或-y #m(以MB爲單位)或-y #g(以GB爲單位)。有關最大記錄大小,請參見-q。

   -Y filename
          用於指定將用於讀取遙測信息的文件名。該文件包含偏移,大小,delay_in_milliseconds的行。這些線中的每條線都用於執行I / O操作。當已知應用程序的特定I / O操作並且希望使用此特定應用程序文件行爲對系統進行基準測試時,將使用此方法。

   -z與-a結合使用以測試所有可能的記錄大小。通常,在全自動模式下使用時,Iozone會省略對非常大的文件的小記錄大小的測試。此選項強制Iozone在自動測試中也包括小的記錄大小。

   -Z啓用mmap I / O和文件I / O的混合。

   -+ m filename
          用於指定文件名,該文件名將用於指定分佈式度量中的客戶端。該文件爲每個客戶端包含一行。字段以空格分隔。字段1是客戶名稱。字段2是客戶端上將運行Iozone的工作目錄。字段3是客戶端上可執行Iozone的路徑。

   -+ n未選擇重新測試。用於防止重新測試運行。

   -+ N在順序寫測試之前,不會截斷或刪除先前的測試文件。僅在上一個命令中使用-w之後,纔有用。當單個重新測試不夠用時,此標誌的用途有限,或者可以輕鬆控制何時進行順序寫重新測試而又不截斷或刪除文件。

   -+ u用於啓用CPU統計信息收集。

   -+ d診斷模式,用於對損壞的文件I / O子系統進行故障排除。

   -+ p percent_reads
          用於設置在混合工作負載測試用例中將執行讀取測試的線程/進程的百分比。

   -+ r啓用O_RSYNC |所有測試都爲O_SYNC。

   -+ l啓用字節範圍鎖定。

   -+ L啓用字節範圍鎖定和共享文件模式。

   -+ D在所有測試上啓用O_DSYNC。

   -+ t啓用網絡性能測試。與-+ m一起使用

   -+ A#啓用瘋狂行爲。 0 =正常,1 =隨機,2 =順序,3 =不需要,4 =需要

   -+ B啓用順序混合工作負載測試。

   -+ T啓用時間戳記錄。

   -+ h手動設置主機名。

   -+ w#文件之間可重複刪除數據的百分比。

作者
原作者:威廉·D·諾科特。 [email protected]

   功能和擴展:Don Capps [email protected]

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