IO性能工具
文章目錄
- rbd bench-write
- fio IO測(cè)試工具
- rados bench集群基準(zhǔn)性能測(cè)試工具
rbd bench-write
-
創(chuàng)建rbd
rbd create pool/rbd_test --size 100Grbd ls -p poolrbd info rbd_test -p pool 或者rbd info pool/rbd_test
-
使用rbd bench-write
語(yǔ)法:rbd bench-write ,可以帶如下參數(shù)
- –io-size:單位byte,默認(rèn)4096bytes = 4K
- –io-threads: 線程數(shù),默認(rèn)16
- –io-total: 總寫(xiě)入字節(jié),單位為字節(jié),默認(rèn)1024M
- –io-pattern <seq|rand>:寫(xiě)模式,默認(rèn)為順序?qū)?/li>
執(zhí)行命令
rbd bench-write pool/rbd_test --io-size 1048576 --io-total 21474836480 --io-threads 10 --io-pattern rand該命令執(zhí)行的結(jié)果是向pool中的rbd_test快設(shè)備隨機(jī)寫(xiě)入20G的文件,每個(gè)文件大小1M,開(kāi)10個(gè)線程
fio IO測(cè)試工具
常用參數(shù)如下:
filename=/dev/emcpowerb 支持文件系統(tǒng)或者裸設(shè)備,-filename=/dev/sda2或-filename=/dev/sdb
direct=1 測(cè)試過(guò)程繞過(guò)機(jī)器自帶的buffer,使測(cè)試結(jié)果更真實(shí)
rw=randwread 測(cè)試隨機(jī)讀的I/O
rw=randwrite 測(cè)試隨機(jī)寫(xiě)的I/O
rw=randrw 測(cè)試隨機(jī)混合寫(xiě)和讀的I/O
rw=read 測(cè)試順序讀的I/O
rw=write 測(cè)試順序?qū)懙腎/O
rw=rw 測(cè)試順序混合寫(xiě)和讀的I/O
bs=4k 單次io的塊文件大小為4k
bsrange=512-2048 同上,提定數(shù)據(jù)塊的大小范圍
size=5g 本次的測(cè)試文件大小為5g,以每次4k的io進(jìn)行測(cè)試
numjobs=30 本次的測(cè)試線程為30
runtime=1000 測(cè)試時(shí)間為1000秒,如果不寫(xiě)則一直將5g文件分4k每次寫(xiě)完為止
ioengine=psync io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包
rwmixwrite=30 在混合讀寫(xiě)的模式下,寫(xiě)占30%
group_reporting 關(guān)于顯示結(jié)果的,匯總每個(gè)進(jìn)程的信息
此外
lockmem=1g 只使用1g內(nèi)存進(jìn)行測(cè)試
zero_buffers 用0初始化系統(tǒng)buffer
nrfiles=8
100%隨機(jī)讀,100%隨機(jī),測(cè)試文件大小1000G,分為每個(gè)4K大小,50個(gè)線程,跑180秒
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k
100%隨機(jī),100%寫(xiě), 4K
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k
100%順序,100%讀 ,4K
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100read_4k
100%順序,100%寫(xiě) ,4K
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100write_4k
100%隨機(jī),70%讀,30%寫(xiě) 4K
fio -filename=/dev/emcpowerb -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=1000G -numjobs=50 -runtime=180 -group_reporting -name=randrw_70read_4k
rados bench集群基準(zhǔn)性能測(cè)試工具
rados bench -p <pool_name> <seconds> <write|seq|rand> -b <block size> -t --no-cleanup
參數(shù)說(shuō)明:
pool_name:測(cè)試所針對(duì)的存儲(chǔ)池
seconds:測(cè)試所持續(xù)的秒數(shù)
<write|seq|rand>:操作模式,write:寫(xiě),seq:順序讀;rand:隨機(jī)讀
-b:block size,即塊大小,默認(rèn)為 4M
-t:讀/寫(xiě)并行數(shù),默認(rèn)為 16
--no-cleanup 表示測(cè)試完成后不刪除測(cè)試用數(shù)據(jù)。在做讀測(cè)試之前,需要使用該參數(shù)來(lái)運(yùn)行一遍寫(xiě)測(cè)試來(lái)產(chǎn)生測(cè)試數(shù)據(jù),在全部測(cè)試結(jié)束后可以運(yùn)行 rados -p <pool_name> cleanup 來(lái)清理所有測(cè)試數(shù)據(jù)。
-
寫(xiě)數(shù)據(jù)
rados bench -p data 10 write --no-cleanup向名稱為data的資源池中寫(xiě)入10秒的數(shù)據(jù),不刪除測(cè)試結(jié)果
-
順序讀
rados bench -p pool 10 seq從data的資源池中順序讀數(shù)據(jù)10秒,讀線程數(shù)目為16,塊大小為4M
-
隨機(jī)讀
rados bench -p rbd 10 rand從data資源池中隨機(jī)讀數(shù)據(jù)10秒,讀線程數(shù)目為16,塊大小為4M
總結(jié)
- 上一篇: 二手GTX650ti显卡大概多少钱
- 下一篇: 二手福克斯多少钱啊?