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