Linux IO 測試工具 fio命令

2021-10-12 02:53:55 字數 2199 閱讀 4117

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為例,說明...