fio 硬盤測試工具


一、windows環境

1. 安裝fio:http://www.bluestop.org/fio/ 可以選擇不同版本的安裝,安裝后在C:\Program Files\fio目錄中可以找到fio的執行程序和相應的文檔。fio.exe 會自動 加入環境變量中

 

2. 使用

找到要測試的磁盤的序號: 

powershell 輸入 diskpart進入磁盤工具

list  disk  顯示所以的磁盤編號

 

 選擇沒有分區的磁盤(fio 在qwindows上只能測試沒有分區的磁盤)

 

  所有我們選擇  disk 1 進行測試

 

測試腳本

1 fio  --name=test --rw=randrw --direct=1 --iodepth=8  --blocksize=1024k  --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=1 --refill_buffers --norandommap --randrepeat=0 --rwmixread=0 --group_reporting --runtime=600 --thread   

 

 各參數的含義

--name 為測試起一個名字

--rw 讀寫的形式  --rw=write  連續寫 --rw=randwrite  隨機寫  --rw=read  連續讀 --rw=randread  隨機讀  --rw=randrw  隨機讀寫 取決於后面的讀寫比例

--direct=1   1 表示不使用緩存

--iodepth=8  每個測試線程的隊列深度

--blocksize  io的大小

--ioengine=windowsaio IO引擎是Windows的異步IO引擎

--filename=\\.\PhysicalDrive1  這里就是我們要測試的磁盤

--numjobs=1 同時測試的線程數量(這個值乘以上面的iodepth就是對磁盤產生的實際隊列深度,這里1X8,所以實際隊列深度為8)

--refill_buffers 這個選項告訴fio將在每次submit之后都會將重新填滿IO buffer。否則fio會在初始時填滿,以后重復利用

--norandommap 般情況下,fio在做隨機IO時,將會覆蓋文件/磁盤的每一個block。如果這個選項設置的話,fio將只是獲取一個新的隨機offset,而不會查詢過去的歷史。這意味着一些塊可能沒有讀或寫,一些塊可能要讀/寫很多次。

--randrepeat=0 對於隨機IO負載,配置生成器的種子,使得路徑是可以預估的,使得每次重復執行生成的序列是一樣的。

--rwmixread=0  隨機讀寫的讀寫比率。0,表示100%寫,這個值設置為100 表示百分百讀

--group_reporting   報道結果

--runtime=600  測試的時間

--thread   由於使用了多線程 所以要加上這個參數

 

 

從上面的報告可以看出,IOPS平均值為 153 帶寬利用率 為 162Mb/s  56.87%的延時在50ms

 例子

1 全盤1024KB隨機讀
2 fio --name=test --rw=randrw --direct=1 --iodepth=8 --blocksize=1024k --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=8 --refill_buffers --norandommap --randrepeat=0 --rwmixread=100 --group_reporting --runtime=180 --thread
3 全盤128KB連續讀
4 fio --name=test --rw=read --direct=1 --iodepth=8 --blocksize=128k --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=8 --group_reporting --runtime=1800 --thread
5 全盤128KB連續寫
6 fio --name=test --rw=write --direct=1 --iodepth=8 --blocksize=128k --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=8 --group_reporting --runtime=1800 --thread

完整的使用請看 安裝目錄下的參考文檔 HOWTO

二、linux環境

centos 下安裝 

yum  install  -y fio

 


免責聲明!

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



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