fio是測試io的非常好的工具,用來對磁碟進行壓力測試和驗證。磁碟io是檢查磁碟效能的重要指標,可以按照負載情況分成照順序讀寫,隨機讀寫兩大類。fio是乙個可以產生很多執行緒或程序並執行使用者指定的特定型別i/o操作的工具,fio的典型用途是編寫和模擬的i/o負載匹配的作業檔案。也就是說fio 是乙個多執行緒io生成工具,可以生成多種io模式,用來測試磁碟裝置的效能(也包含檔案系統:如針對網路檔案系統 nfs 的io測試)。
filename=
/dev/sdb1 測試檔名稱,通常選擇需要測試的盤的data目錄。
direct=
1 是否使用directio,測試過程繞過os自帶的buffer,使測試磁碟的結果更真實。linux讀寫的時候,核心維護了快取,資料先寫到快取,後面再後台寫到ssd。讀的時候也優先讀快取裡的資料。這樣速度可以加快,但是一旦掉電快取裡的資料就沒了。所以有一種模式叫做directio,跳過快取,直接讀寫ssd。
rw=randwrite 測試隨機寫的i/o
rw=randrw 測試隨機寫和讀的i/o
bs=16k 單次io的塊檔案大小為16k
bsrange=
512-
2048 同上,提定資料塊的大小範圍
size=
5g 每個執行緒讀寫的資料量是5gb。
numjobs=
1 每個job(任務)開1個執行緒,這裡用了幾,後面每個用-name指定的任務就開幾個執行緒測試。所以最終執行緒數=任務數(幾個name=jobx)* numjobs。
name=job1:乙個任務的名字,重複了也沒關係。如果fio -name=job1 -name=job2,建立了兩個任務,共享-name=job1之前的引數。-name之後的就是job2任務獨有的引數。
thread 使用pthread_create建立執行緒,另一種是fork建立程序。程序的開銷比執行緒要大,一般都採用thread測試。
runtime=
1000 測試時間為1000秒,如果不寫則一直將5g檔案分4k每次寫完為止。
ioengine=libaio 指定io引擎使用libaio方式。libaio:linux本地非同步i/o。請注意,linux可能只支援具有非緩衝i/o的排隊行為(設定為「direct=
1」或「buffered=
0」);rbd:通過librbd直接訪問ceph rados
iodepth=
16 佇列的深度為16.在非同步模式下,cpu不能一直無限的發命令到ssd。比如ssd執行讀寫如果發生了卡頓,那有可能系統會一直不停的發命令,幾千個,甚至幾萬個,這樣一方面ssd扛不住,另一方面這麼多命令會很佔記憶體,系統也要掛掉了。這樣,就帶來乙個引數叫做佇列深度。
block devices(rbd),無需使用核心rbd驅動程式(rbd.ko)。該引數包含很多ioengine,如:libhdfs/rdma等
rwmixwrite=
30 在混合讀寫的模式下,寫佔30
%group_reporting 關於顯示結果的,彙總每個程序的資訊。
此外lockmem=
1g 只使用1g記憶體進行測試。
zero_buffers 用0初始化系統buffer。
nrfiles=
8 每個程序生成檔案的數量。
磁碟讀寫常用測試點:
1. read=
100% ramdon=
100% rw=randread (
100%隨機讀)
2. read=
100% sequence=
100% rw=read (100
%順序讀)
3. write=
100% sequence=
100% rw=write (100
%順序寫)
4. write=
100% ramdon=
100% rw=randwrite (100
%隨機寫)
5. read=
70% sequence=
100% rw=rw, rwmixread=
70, rwmixwrite=
30(70
%順序讀,30
%順序寫)
6. read=
70% ramdon=
100% rw=randrw, rwmixread=
70, rwmixwrite=30(
70%隨機讀,30
%隨機寫)
硬碟效能測試工具fio
fio是測試磁碟效能的乙個非常好的工具,用來對硬體進行壓力測試和驗證。建議使用libaio的i o引擎進行測試,請使用者自行安裝fio和libaio。不同場景的測試公式基本一致,只有3個引數 讀寫模式,iodepth,blocksize 的區別。下面舉例說明使用block size為4k,iodep...
centos 磁碟測試工具FIO工具 安裝和實戰
磁碟ipos測試 在centos 7.4上,執行下面步驟 yum y install gcc wget cd fio 2.0.7 make make install 1 順序寫 描述 向 dev sda分割槽儲存上以2m塊檔案大小順序寫1100gb檔案 fio output tmp 100s100w...
使用FIO工具測試塊儲存效能
linux例項和windows例項都推薦使用fio工具測試塊儲存效能。說明 您也可以使用其他工具測試塊儲存效能,但不同工具測試出來的硬碟基準效能會有差異,如dd sysbench iometer等工具可能會受到測試引數配置和檔案系統影響,難以反映真實的磁碟效能。本文以linux例項和fio為例,說明...