一,fio安裝
wget
yum install libaio-devel
tar -zxvf fio-2.0.7.tar.gz
cd fio-2.0.7
make
make install
二,fio用法:
隨機讀:
fio -filename=/dev/sda3 -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200g -numjobs=10 -runtime=1000 -group_reporting -name=zhouxue
說明:filename=/dev/sdb1 測試檔名稱,通常選擇需要測試的盤的data目錄。
direct=1 測試過程繞過機器自帶的buffer。使測試結果更真實。
rw=randwrite 測試隨機寫的i/o
rw=randrw 測試隨機寫和讀的i/o
bs=16k 單次io的塊檔案大小為16k
bsrange=512-2048 同上,提定資料塊的大小範圍
size=5g 本次的測試檔案大小為5g,以每次4k的io進行測試。
numjobs=30 本次的測試執行緒為30.
runtime=1000 測試時間為1000秒,如果不寫則一直將5g檔案分4k每次寫完為止。
ioengine=psync io引擎使用pync方式
rwmixwrite=30 在混合讀寫的模式下,寫佔30%
group_reporting 關於顯示結果的,彙總每個程序的資訊。
此外
lockmem=1g 只使用1g記憶體進行測試。
zero_buffers 用0初始化系統buffer。
nrfiles=8 每個程序生成檔案的數量。
iodepth = 64 每個檔案io佇列長度
bssplit = 512/20:1k/20:2k/10:4k/40:8k/10 // 20%512b,20%1k,10%2k,40%4k,10%8k
順序讀:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200g -numjobs=30 -runtime=1000 -group_reporting -name=mytest
隨機寫:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200g -numjobs=30 -runtime=1000 -group_reporting -name=mytest
順序寫:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200g -numjobs=30 -runtime=1000 -group_reporting -name=mytest
混合隨機讀寫:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200g -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop
global選項中設定了direct=1。將direct設定為1時,使用的就direct i/o。未指定時,就等同於direct=0(經由一般頁面快取進行i/o)。
readjob作業中使用size設定i/o操作的大小(位元組數)。字尾m表示兆位元組。字尾可以使用k、m、g、t、p。readjob作業的程序在進行了size所設定的大小的i/o後就會結束。 \
fio任務配置裡面有幾個點需要非常注意:
1. libaio工作的時候需要檔案direct方式開啟。
2. 塊大小必須是扇區(512位元組)的倍數。
3. userspace_reap提高非同步io收割的速度。
4. ramp_time的作用是減少日誌對高速io的影響。
5. 只要開了direct,fsync就不會發生。
硬碟效能測試工具fio
fio是測試磁碟效能的乙個非常好的工具,用來對硬體進行壓力測試和驗證。建議使用libaio的i o引擎進行測試,請使用者自行安裝fio和libaio。不同場景的測試公式基本一致,只有3個引數 讀寫模式,iodepth,blocksize 的區別。下面舉例說明使用block size為4k,iodep...
FIO效能測試
fio引數中,ioengine使用libaio,併發jobs數固定為1,通過iodepth來控制壓力。分別測試隨機讀 隨機寫,作為讀寫的效能基準。不測試順序讀寫,不測試混合讀寫。1 測試iops峰值 iodepth 128,塊大小4k。隨機讀 fio direct 1 iodepth 128 rw ...
Linux 環境下 硬碟讀寫速度測試之FIO
安裝fio 如果ioengine找不到軟體包,按說明操作 fio 命令不需要磁碟掛載。乙個磁碟經過fio 命令以後,再用就需要重新分割槽,掛載。fio 命令感覺是把磁碟格式化過一遍。多次測試fio 也對磁碟有傷害。指令 注意 nvme0n1的目錄 fio filename dev nvme0n1 d...