磁盤性能測試工具 iozone


iozone

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

官方站點

源碼包下載

常用參數

  1. 自動測試參數
    -a 全自動模式測試。測試記錄塊大小從4k到16M,測試文件從64k到512M。
    -z 同-a一起使用,進行全部測試
    -A 使用自動模式雖然測試比較全面,但是比較花時間。-a選項將在文件大於32MB時停止使用低於64k一下記錄塊,來節省時間。-A通知iozone不要節省時間,進行所有測試。注:在3.61版本以后不建議使用,用-az代替-aA。

    -n # 設置自動模式下測試文件最小值。
    -g # 設置自動模式下測試文件最大值,可以使用#k #m #g分別表示kb,mb,gb。

    -y # 在自動模式下設置記錄塊的最小值
    -q # 在自動模式下設置記錄塊的最大值,可以使用#k(kb),#m(mb),#g(gb)。使用-y可以設置最小值。

  2. mmap
    -B 使用mmap()。這將使用mmap()接口來創建並訪問所有測試用的臨時文件。一些應用程序傾向於將文件當作內存的一塊來看待。這些應用程序對文件執行mmap()調用,然后就可以以讀寫內存的方式訪問那個塊來完成文件I/O。
    -D 對mmap文件使用MSYNC(MS_ASYNC)。告訴操作系統在mmap空間的所有數據需要被異步的寫到磁盤上。
    -G 對mmap文件使用msync(MS_SYNC)。告訴操作系統在mmap空間的所有數據需要被同步的寫到磁盤上。
    -Z 允許mmap I/O和file I/O混合使用

  3. 測試報告 -Rb xx.xls
    -b iozone將會創建一個兼容於Excel的結果輸出文件,這個文件是二進制文件格式的。
    -N 報告結果以毫秒每操作的方式顯示。
    -O 報告結果以操作每秒方式顯示。
    -R 使用Excel顯示結果。

  4. 測試時間尺度
    -c 計算時間將close()包括進來。使用close()將減少NFS客戶端緩存的影響NFS
    -e 測試時間是包含flush(fsync, fflush)。

  5. 文件
    -f filename
    指定用來測試臨時文件,在測試完成后將被自動刪除。
    -F filename filename ...
    指定測試中每個臨時文件名,文件名的數量應該和指定的進程或線程數相同。-l -u
    -r # 設置記錄塊大小為#。可以通過-r #k (Kbytes) 或 -r #m (Mbytes) 或 -r #g (Gbytes).
    -s # 設置測試文件大小。
    -S # 設置處理器的緩存大小。
    -p 測試前清除處理器緩存
    -w 在測試結束后不要刪除臨時文件。臨時文件將在測試過后保存下來
    -W 在測試過程中,當讀或寫文件時鎖住文件

  6. 測試模式
    -i # 指定運行的測試模式。可以使用-i # -i # -i #進行多個測試:
    0 = write/rewrite
    1 = read/re-read
    2 = random read/random write
    3 = backwards read
    4 = re-write-record
    5 = stride-read
    6 = fwirte/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

    -I 對所有文件操作使用DIRECT I/O。通知文件系統所有操作跳過緩存直接在磁盤上操作。
    -o 寫方式是同步寫到磁盤上。

    -j # 設置訪問文件的跨度為(# * 塊)。stride read測試將使用這個跨度來讀塊。
    -J #(毫秒)在每個I/O操作之前產生指定毫秒的計算延遲。看-X和-Y獲取控制計算延遲的其他參數。

    進程和線程
    -l # 設置程序最小進程數。在測試過程允許用戶設置的最小進程或線程數。需要配合-u選項使用。
    -u # 設置最大進程或線程數,需要配合-l參數使用。

    -t # 設置測試程序的線程或進程數。
    -T 使用POSIX的pthreads進行測試。

  7. 其他
    -C 顯示吞吐量測試中每個客戶端的字節數。
    -L # 設置處理器交換信息的單位量為#(bytes)。可以加速測試。
    -m iozone將在內部使用多個緩存。一些程序反復復寫一塊緩存,還有就是設置多個緩存塊。此參數將允許使用這兩種模式。iozone默認行為是重復使用內部一個緩存。此選項將允許在內部使用多個緩存塊。
    -M 調用uname(),將返回字符串放在輸出文件中。
    -U mountpoint 在測試開始之前,iozone將unmount和remount掛載點。這將保證測試中緩存不包含任何文件

IOZone使用教程(文件系統性能)

https://www.cnblogs.com/bugutian/p/5785058.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM