FIO是測試IOPS的非常好的工具,用來對硬件進行壓力測試和驗證,支持13種不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。
使用: fio configfile
結果主要觀察:iops和bw(帶寬)
配置文件示例:
[global]
description=Emulation of Intel IOmeter File Server Access Pattern
[iometer]
bssplit=4k/30:8k/40:16k/30 # 30%的4K文件讀寫,40%的8k文件,30%的16K文件
rw=randrw # 隨機讀寫,隨機讀爲randread,隨機寫爲randwrite
rwmixwrite=30 # 隨機寫所佔比例爲30%
direct=1 # 測試過程繞過機器自帶的buffer。使測試結果更真實。
time_based # 基於時間的測試,如果不基於時間,可以指定size=XX
runtime=180s # 運行時間180s
ioengine=sync # I/O引擎
filename=/dev/mapper/ioband1 # 讀寫文件名稱,這裏是對ioband進行測試
numjobs=32 # 測試線程數目爲32
group_reporting # 關於顯示結果的,彙總每個進程的信息。
附帶dd測試,使用dd命令可以進行順序讀寫的測試:
命令如下:
# time dd if=/dev/sda2 f=/dev/null bs=8k count=1000 讀
# time dd if=/dev/zero f=/opt/iotest bs=8k count=1000 寫
# time dd if=/dev/sda2 f=/opt/iotest bs=8k count=1000 讀寫
參照以下資料:
http://blog.csdn.net/wyzxg/article/details/7454072
http://linux.chinaitlab.com/administer/827851.html