如何測試云主機的磁盤IO性能?
作者:彭勇
磁盤IO是云主機的重要指標,可以按照負載情況分成照順序讀寫,隨機讀寫兩大類。本文分享了測試云主機的磁盤IO性能的方法以及相關(guān)參數(shù)的說明。
磁盤IO是云主機的重要指標,可以按照負載情況分成照順序讀寫,隨機讀寫兩大類。
fio 是測試磁盤性能的***工具:
1、測試順序讀性能
- fio --filename=/home/test -iodepth=64 -ioengine=libaio --direct=1 --rw=read --bs=1m --size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read
2、測試順序?qū)懶阅?/strong>
- fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=write -bs=1m -size=2g -numjobs=4 -runtime=20 -group_reporting -name=test-write
3、測試隨機讀性能
- fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-read
4、測試隨機寫性能
- fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-write
參數(shù)說明:
- filename=/home/test 測試文件名稱,通常選擇需要測試的盤的data目錄。
- direct=1 測試過程繞過機器自帶的buffer。使測試結(jié)果更真實。
- rw=randwrite 測試隨機寫的I/O
- rw=randrw 測試隨機寫和讀的I/O
- bs=4k 單次io的塊文件大小為4k
- size=2g 本次的測試文件大小為2g,以每次4k的io進行測試。
- numjobs=64 本次的測試線程為64.
- runtime=20 測試時間為20秒,如果不寫則一直將2g文件分4k每次寫完為止。
報告如何查看:
fio的結(jié)果報告內(nèi)容豐富,我們主要關(guān)心的是兩項:
- 磁盤的吞吐量bw,這個是順序讀寫考察的重點
- 磁盤的每秒讀寫次數(shù)iops,這個是隨機讀寫考察的重點
比如,下面是4個測試的結(jié)果部分截?。?/p>
test-read: (groupid=0, jobs=4): err= 0: pid=4752 read : io=839680KB, bw=76823KB/s, iops=75 , runt= 10930msec
順序讀,帶寬76823KB/s,iops 75
test-write: (groupid=0, jobs=4): err= 0: pid=4758 write: io=899072KB, bw=42854KB/s, iops=41 , runt= 20980msec
順序?qū)?,帶?2854KB/s, iops=41
test-rand-read: (groupid=0, jobs=64): err= 0: pid=4619 read : io=72556KB, bw=3457.4KB/s, iops=864 , runt= 20986msec
隨機讀,帶寬3457.4KB/s, iops=864
test-rand-write: (groupid=0, jobs=64): err= 0: pid=4685 write: io=129264KB, bw=6432.4KB/s, iops=1608 , runt= 20097msec
隨機寫,帶寬6432.4KB/s, iops=1608。
責任編輯:黃丹
來源:
pubyun.com