linux 使用 FIO 测试磁盘的iops
原文鏈接:https://www.iteye.com/blog/elf8848-2168876
一,FIO安裝
wget?http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz?
yum install libaio-devel
tar -zxvf fio-2.2.5.tar.gz
cd fio-2.2.5
make
make install
二,FIO用法:
隨機讀:(可直接用,向磁盤寫一個2G文件,10線程,隨機讀1分鐘,給出結果)
fio -filename=/tmp/test_randread -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
說明:
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????????? 關于顯示結果的,匯總每個進程的信息。
?
順序讀:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
隨機寫:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
順序寫:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
混合隨機讀寫:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest -ioscheduler=noop
轉載于:https://www.cnblogs.com/wangjq19920210/p/11504618.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux 使用 FIO 测试磁盘的iops的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces 1096D(线性d
- 下一篇: [Linux] 编写Dockerfile