天天看點

使用FIO測試工具對新睿雲、xrcloud.net、雲主機進行測試

對于目前市面上可購買的雲主機,主要集中在阿裡雲、亞馬遜、騰訊雲、華為雲、金山雲、UCloud雲、青雲、比格雲等可選産品,同時最近發現由北京允睿訊通科技有限公司推出的新睿雲、XRcloud、雲主機、雲網絡、雲安全等一系列産品,大家可以登入 www.xrcloud.net 進行體驗,現在正在做活動,可以免費體驗,經過實際測試,其性能與行業一二線品牌在 IOPS 上的競争勢頭明顯,推薦大家嘗試一下。

在使用雲主機過程中,人們最為關注“三高”問題: 高性能,高可擴充性,高可靠性。同時,企業在業務量提升的情況下,對于VPC私有雲網絡的易用性、安全性、可靠性的需求也是頭等大事。

在雲主機存儲宣傳過程中,常常會聽到某司宣稱自己的存儲系統能夠達到6個9(99.9999%),其指存儲系統十分可靠,在一年中最多出現十幾秒的當機時間; 而對于高可擴充性,主要是指系統對儲存設備(硬碟,閃存)數量增加的支援。而高性能則是指IOPS高,響應延遲低。

為了測試系統IO性能的高低,在實際開發中,需要使用IO性能測試工具進行測試。今天在這裡介紹一款測試工具“FIO”,它功能十分強大,能夠對測試環境進行精密的配置,當然,可配置參數多,也導緻想完全掌握有難度。不過,我們先來初見FIO的真面目。

  1. Fio簡介

簡單說,Fio是用來測試系統IO性能的工具,它的強大之處在與提供了一套測試架構,能夠支援多線程多程序的IO測試,使用者隻需進行參數的配置,便能夠友善地定制不同的IO行為(順序讀寫,随機讀寫等),并對其性能進行監測。其作者Jens Axboe是linux核心IO部分的maintainer。而gfio則是Fio的圖形監測工具,它提供了圖形界面的參數配置,和性能監測圖像。

  1. Fio安裝

以免費活動領取的新睿雲主機所帶的作業系統CentOS為例,使用:yum install fio 進行Fio的安裝。

也可已編譯安裝:

wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz

yum install libaio-devel

make

make install

下面用指令直接輸出的方法:

随機讀的測試指令:

fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=32G -numjobs=32 -runtime=10 -group_reporting -name=mytest

下面為列舉的ioengine類型,可以根據您的了解進行選擇:

使用FIO測試工具對新睿雲、xrcloud.net、雲主機進行測試

說明:

filename=/dev/sdb 測試檔案名稱,通常選擇需要測試的盤的data目錄。 隻能是分區,不能是目錄,會破壞資料。

direct=1 測試過程繞過機器自帶的buffer。使測試結果更真實。

iodepth 1 隊列深度,隻有使用libaio時才有意義,這是一個可以影響IOPS的參數,通常情況下為1。

rw=randwrite 測試随機寫的I/O

rw=randrw 測試随機寫和讀的I/O

ioengine=psync io引擎使用pync方式

bs=512 單次io的塊檔案大小為512b

bsrange=512-2048 同上,提定資料塊的大小範圍

size=32G 本次的測試檔案大小為32g,以每次512b的io進行測試,此大小不能超過filename的大小,否則會報錯。

numjobs=128 本次的測試線程為128

runtime=1000 測試時間為1000秒,如果不寫則一直将5g檔案分4k每次寫完為止。

rwmixwrite=30 在混合讀寫的模式下,寫占30%

group_reporting 關于顯示結果的,彙總每個程序的資訊。

此外

lockmem=1g 隻使用1g記憶體進行測試。

zero_buffers 用0初始化系統buffer。

nrfiles=8 每個程序生成檔案的數量。

read 順序讀

write 順序寫

rw,readwrite 順序混合讀寫

randwrite 随機寫

randread 随機讀

randrw 随機混合讀寫

順序讀:

fio -filename=/dev/sdb -direct=1 -iodepth 32 -thread -rw=read -ioengine=psync -bs=512 -size=32G -numjobs=128 -runtime=10 -group_reporting -name=mytest

随機寫:

fio -filename=/dev/sdb -direct=1 -iodepth 32 -thread -rw=randwrite -ioengine=psync -bs=512 -size=32G -numjobs=128 -runtime=10 -group_reporting -name=mytest

順序寫:

fio -filename=/dev/sdb -direct=1 -iodepth 32 -thread -rw=write -ioengine=psync -bs=512 -size=32G -numjobs=128 -runtime=10 -group_reporting -name=mytest

混合随機讀寫:

fio -filename=/dev/sdb -direct=1 -iodepth 32 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=512 -size=32G -numjobs=128 -runtime=10 -group_reporting -name=mytest -ioscheduler=noop

以下為新睿雲主機的測試結果:

使用FIO測試工具對新睿雲、xrcloud.net、雲主機進行測試

測試的IOPS居然可以達到:210122 量級

同樣進行阿某雲的測試,下面是阿某雲的測試結果:

使用FIO測試工具對新睿雲、xrcloud.net、雲主機進行測試

測試結果隻能達到:515

繼續閱讀