當前位置:首頁 » 操作系統 » fioforlinux

fioforlinux

發布時間: 2022-12-18 16:54:45

1. fio文件系統性能測試

備註:

使用的是yum 進行的安裝,大家可以使用源碼編譯安裝(centos 7)

安裝

yum install -y fio


使用

filename: 指定文件(設備)的名稱。可以通過冒號分割同時指定多個文件,如filename=/dev/sda:/dev/sdb。

directory: 設置filename的路徑前綴。在後面的基準測試中,採用這種方式來指定設備。

name: 指定job的名字,在命令行中表示新啟動一個job。

direct: bool類型,如果設置成true (1),表示不使用io buffer。

ioengine: I/O引擎,現在fio支持19種ioengine。默認值是sync同步阻塞I/O,lio是linux的native非同步I/O。關於同步非同步,阻塞和非阻塞模型可以參考文章「使用非同步 I/O 大大提高應用程序的性能」。

iodepth: 如果ioengine採用非同步方式,該參數表示一批提交保持的io單元數。該參數可參考文章「Fio壓測工具和io隊列深度理解和誤區」。

rw: I/O模式,隨機讀寫,順序讀寫等等。

bs: I/O block大小,默認是4k。

size: 指定job處理的文件的大小。

numjobs: 指定job的克隆數(線程)。

time_based: 如果在runtime指定的時間還沒到時文件就被讀寫完成,將繼續重復知道runtime時間結束。

runtime: 指定在多少秒後停止進程。如果未指定該參數,fio將執行至指定的文件讀寫完全完成。

group_reporting: 當同時指定了numjobs了時,輸出結果按組顯示。


參考說明

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引擎使用psync方式

rwmixwrite=30 #在混合讀寫的模式下,寫佔30%

group_reporting #關於顯示結果的,匯總每個進程的信息

lockmem=1G #只使用1g內存進行測試

zero_buffers #用0初始化系統buffer

nrfiles=8 #每個進程生成文件的數量

#順序讀

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#順序寫

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#隨機讀

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#隨機寫

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

#混合隨機讀寫

fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheler=noop

#復制下面的配置內容,將directory=/path/to/test修改為你測試硬碟掛載目錄的地址,並另存為fio.conf

[global]

ioengine=lio

direct=1

thread=1

norandommap=1

randrepeat=0

runtime=60

ramp_time=6

size=1g

directory=/path/to/test

[read4k-rand]

stonewall

group_reporting

bs=4k

rw=randread

numjobs=8

iodepth=32

[read64k-seq]

stonewall

group_reporting

bs=64k

rw=read

numjobs=4

iodepth=8

[write4k-rand]

stonewall

group_reporting

bs=4k

rw=randwrite

numjobs=2

iodepth=4

[write64k-seq]

stonewall

group_reporting

bs=64k

rw=write

numjobs=2

iodepth=4

#測試

fio fio.conf

2. linux 如何後台跑fio

關於您所詢問的尤尼克斯產品,如果想後台跑fio,可以通過運行相關程序後,選擇後台啟動的方式進行後台駐留,並且要開啟所有許可權

熱點內容
資料庫圖書管理設計 發布:2025-05-14 16:33:52 瀏覽:376
php開發的網頁 發布:2025-05-14 16:22:03 瀏覽:477
伺服器內存跑滿了怎麼回事 發布:2025-05-14 16:21:16 瀏覽:223
微信qq音樂緩存 發布:2025-05-14 16:16:16 瀏覽:468
c語言回收內存 發布:2025-05-14 16:16:08 瀏覽:143
2021國產安卓頂級旗艦買哪個 發布:2025-05-14 16:15:36 瀏覽:300
linux自學視頻 發布:2025-05-14 16:14:49 瀏覽:255
我的世界伺服器崩了重啟 發布:2025-05-14 16:09:37 瀏覽:44
android深拷貝 發布:2025-05-14 16:09:35 瀏覽:153
cf電腦版轉伺服器神器還在嗎 發布:2025-05-14 16:09:02 瀏覽:212