1. 程式人生 > 其它 >|NO.Z.00005|——————————|NavigationLog|——|FIO工具|

|NO.Z.00005|——————————|NavigationLog|——|FIO工具|



[NavigationIng:FIO工具]                                                                                                [NavigationIng.了不起]








一、FIO工具安裝:

一、FIO工具安裝:

### --- FIO工具安裝:

~~~		官網地址:http://freecode.com/projects/fio/
~~~		原始碼安裝包:http://brick.kernel.dk/snaps/fio-2.1.10.tar.gz
二、FIO工具配置
### --- FIO工具部署

~~~		# 部署FIO工具
[root@localhost ~]# rpm –qa | grep fio
~~~		# 編譯安裝FIO工具
[root@lh fio-2.1.10]# ./configure
[root@lh fio-2.1.10]# make
[root@lh fio-2.1.10]# make install<br>[root@lh fio-2.1.10]# fio --help
### --- FIO安裝失敗:如果未成功就用rpm安裝:獲取fio的rpm安裝包後:

~~~		# 通過rpm包安裝FIO工具
[root@localhost tmp]# rpm -ivh fio-2.0.9-1.el6.rf.x86_64.rpm
warning: fio-2.1.10-1.el6.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
Preparing... ########################################### [100%]
1:fio ########################################### [100%]
### --- 常見故障解決方案:

fio: failed to load engine libaio
[root@localhost tmp] yum install libaio-devel

[root@lh fio-2.1.10]# ./configure
[root@lh fio-2.1.10]# make
[root@lh fio-2.1.10]# make install<br>[root@lh fio-2.1.10]# fio --help

三、FIO工具使用方法
### --- 常用引數

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 																	// 每個程序生成檔案的數量。
### --- 磁碟讀寫常用測試點:

Read=100% Ramdon=100% rw=randread 										    //  (100%隨機讀)
Read=100% Sequence=100% rw=read 											// (100%順序讀)
Write=100% Sequence=100% rw=write 											// (100%順序寫)
Write=100% Ramdon=100% rw=randwrite 										// (100%隨機寫)
Read=70% Sequence=100% rw=rw, rwmixread=70, rwmixwrite=30					// (70%順序讀,30%順序寫)
Read=70% Ramdon=100% rw=randrw, rwmixread=70, rwmixwrite=30					//  (70%隨機讀,30%隨機寫)
四、測試POC
### --- 順序寫:
### --- 描述:向/dev/sda分割槽儲存上以2M塊檔案大小順序寫1100GB檔案

[root@localhost ~]fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sda -ioengine=libaio -direct=1 -blocksize=2M -size=1100GB -rw=write -iodepth=8 -numjobs=1
### --- 隨機寫:
### --- 描述:向/dev/sda分割槽儲存上以2M塊檔案大小隨機寫1100GB檔案

[root@localhost ~]fio -output=/tmp/100R100W -name=100R100W -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -size=3356GB -rw=randwrite -iodepth=8 -numjobs=1
### --- 順序讀:
 
[root@localhost ~]fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sda -ioengine=libaio -direct=1 -blocksize=2M –runtime=1800 -rw=read -iodepth=8 -numjobs=1
### --- 隨機讀:

[root@localhost ~]fio -output=/tmp/100S100Wsdbsdcsdd -name=100S100W -write_bw_log=bw_log -write_lat_log=lat_log -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -runtime=1800 -rw=randread -iodepth=32 -numjobs=1
### --- 混合隨機讀寫:
### --- 描述:70%隨機讀,30%隨機寫,以2M塊檔案大小向/dev/sdb:/dev/sdc:/dev/sdd三個分割槽儲存上隨機讀寫300s時間

[root@localhost ~]fio -output=/tmp/100S100W -name=100S100W -filename=/dev/sdb:/dev/sdc:/dev/sdd -ioengine=libaio -direct=1 -blocksize=2M -runtime=300 -rw=randrw -rwmixread=70 -rwmixwrite=30 -iodepth=32 -numjobs=1
五、磁碟IO工具
### --- 磁碟IO工具:監控磁碟IO命令:iostat –mx 1 (iostat的安裝方法:yum install sysstat)

[root@localhost tmp]# iostat -mx 1

Linux 2.6.32-220.el6.x86_64 (localhost.localdomain) XXXX年XX月XX日 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.74 0.00 8.95 0.04 0.00 78.27
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.18 10.05 0.31 7.67 0.01 0.07 18.77 0.00 0.28 0.14 0.11
sdb 0.69 0.10 15.74 11.21 0.17 2.45 190.77 0.34 12.10 0.23 0.63
sdc 0.43 0.06 9.58 5.94 0.13 1.20 176.32 0.03 1.70 0.16 0.25








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)