馬上年底了,各種云評測陸續(xù)放了出來,最近看到有一些評測也引起了爭議,第三方評測數(shù)據(jù)可以作為參考,真正要使用云,將業(yè)務(wù)放到云上,還是要自己來做一些評測,一方面自己跑的數(shù)據(jù)可信,一方面自己最了解業(yè)務(wù)需求,知道測試的時候應(yīng)該重點關(guān)注那些指標(biāo)。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計、網(wǎng)站制作和服務(wù)器托管機(jī)柜的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗和案例。云在使用之前應(yīng)該經(jīng)過三個評測階段,性能評測、網(wǎng)絡(luò)質(zhì)量評測、業(yè)務(wù)評測。
1.性能測試
性能評測主要關(guān)注云服務(wù)的性能,比如云主機(jī)的CPU、磁盤、網(wǎng)絡(luò)性能,RDS、負(fù)載均衡、S3等服務(wù)的性能??陀^的說,因為每一個朵云可用區(qū)域上線的時間不一樣,搭建云的物理機(jī)配置可能也會不同,所以性能多少都會有差異。另外,因為云廠商的能力不同,有的云廠商軟件版本也會不一致,造成性能也會有差異。盡管云廠商在上線之前都會做嚴(yán)格的性能測試,但是云廠商一般是基準(zhǔn)測試,并且不會公布詳細(xì)的數(shù)據(jù),所以作為云的使用者應(yīng)該通過自己評測,做到心中有數(shù)。
2.網(wǎng)絡(luò)質(zhì)量評測
云的一個特性就是基于網(wǎng)絡(luò),所以放到云上的業(yè)務(wù)大多也都是基于網(wǎng)絡(luò)的,所以對云的網(wǎng)絡(luò)質(zhì)量評測很重要。另外要注意,網(wǎng)絡(luò)質(zhì)量是動態(tài)變化的,所以對云的網(wǎng)絡(luò)質(zhì)量評測在使用之前要評測,在使用過程中也要長期持續(xù)的監(jiān)控。
3.業(yè)務(wù)評測
業(yè)務(wù)上線之前,應(yīng)盡可能全面的對云系統(tǒng)是否能滿足業(yè)務(wù)進(jìn)行評測,盡可能的模擬各種業(yè)務(wù)場景,確保在各種極端情況下,云系統(tǒng)能滿足業(yè)務(wù)的需求。一般在流程比較完善的組織內(nèi)部,都會有嚴(yán)格的業(yè)務(wù)測試流程,但是要注意如果之前的流程是在非云環(huán)境,要結(jié)合云環(huán)境進(jìn)行相應(yīng)的調(diào)整。
云評測可以使用的工具很多,因為在云上一般使用Linux居多,本文介紹的工具側(cè)重Linux系統(tǒng),并且以開源工具為主。
1.Super Pi
網(wǎng)址:http://www.superpi.net/
Super Pi是一個單線程基準(zhǔn)測試,可以計算特定位數(shù)的Pi。使用Gauss-Legendre算法,是測試純單線程x86浮點性能的理想選擇。
Super Pi是免費軟件,可以隨意下載分發(fā),在Super PI網(wǎng)站上提供常見硬件的Pi計數(shù)得分,方便對比。
圖1:Super Pi網(wǎng)站上的常見硬件Pi計數(shù)得分
注意Super Pi是單線程的,不能用于多線程的CPU測試,通常用于粗略比較CPU計算能力,CPU測試衡量指標(biāo)比較多,建議CPU測試側(cè)重基于業(yè)務(wù)壓力的測試。
2.FIO
源代碼網(wǎng)址:https://github.com/axboe/fio
二進(jìn)制下載網(wǎng)址:http://freshmeat.sourceforge.net/projects/fio
FIO作者是Jens Axboe,是一款I(lǐng)/O測試工具,用于基準(zhǔn)測試和壓力/硬件驗證。支持19種不同類型的I/O引擎(sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet,guasi,solarisaio等),支持多線程作業(yè),可以在塊設(shè)備和文件上工作,F(xiàn)IO是測試IOPS的利器,同時支持Windows系統(tǒng)和Linux系統(tǒng)。
圖2:reshmeat.sourceforge.net網(wǎng)站上的FIO截圖
3.IOzone
網(wǎng)址:http://iozone.org/
IOzone是一個文件系統(tǒng)基準(zhǔn)測試工具,支持測試各種文件系統(tǒng)。IOzone支持多線程,支持同步或異步I/O讀寫模式,IOzone還有一個特點是支持測試結(jié)果生成圖片,方便直觀的看到結(jié)果。
圖3:IOzone網(wǎng)站上IOzone自動生成的圖片
4.dd命令
dd是系統(tǒng)自帶命令,不用特別安裝,使用dd命令可以快速判斷磁盤io性能。如果源是磁盤,目標(biāo)是/dev/null,可以初步判斷磁盤讀性能;如果源是/dev/zero,目標(biāo)是磁盤,可以初步判斷磁盤寫性能。dd缺點是只能測試順序讀寫,不能測試隨機(jī)讀寫性能。
5.iometer
網(wǎng)址:http://www.iometer.org
Iometer常用于磁盤I/O測試,是用于單個和集群系統(tǒng)的I/O子系統(tǒng)測測試工具。最初由英特爾公司開發(fā),并將其交給開源開發(fā)實驗室(OSDL)。
圖4:Iometer網(wǎng)站上的截圖
Iometer 包含了兩個程序,Iometer 和 Dynamo。Iometer 是控制程序,可以設(shè)置操作參數(shù),啟動和停止測試。Dynamo 是負(fù)載生成器。Iometer支持Windows系統(tǒng)和Linux系統(tǒng)I/O測試。
6.iPerf/iPerf3
網(wǎng)址:https://iperf.fr/
iPerf 是一個網(wǎng)絡(luò)性能測試工具,可以測試TCP和UDP帶寬質(zhì)量,具有多種參數(shù)和UDP特性。iPerf可以報告帶寬,延遲抖動和數(shù)據(jù)包丟失。
iPerf支持常見的操作系統(tǒng)。
圖5:iPerf支持的系統(tǒng)
7.Netperf
網(wǎng)址:https://hewlettpackard.github.io/netperf/
Netperf最初是由惠普開發(fā)的,用于衡量許多不同類型網(wǎng)絡(luò)的性能。提供單向吞吐量和端到端延遲的測試。Netperf基于C/S模式的,服務(wù)器端是netserver,用來偵聽來自客戶端的連接,客戶端是netperf。在服務(wù)器端和客戶端之間,建立控制連接,傳遞測試配置的信息,以及測試的結(jié)果。Netperf提供了許多預(yù)定義的測試,例如 測量批量(單向)數(shù)據(jù)傳輸或請求響應(yīng)性能。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測試,
8.ping、traceroute、mtr
ping、traceroute、mtr是系統(tǒng)自帶命令,可用于測試網(wǎng)絡(luò)質(zhì)量,特別是mtr命令可以連續(xù)測試。
圖6:mtr運行截圖
但是命令行不能或者不方便長期進(jìn)行網(wǎng)絡(luò)質(zhì)量測試。
9.smokeping
網(wǎng)址:https://oss.oetiker.ch/smokeping
圖7:oss.oetiker.chr網(wǎng)站上smokeing的截圖
SmokePing由Perl編寫的免費和開源軟件,由MRTG和RRDtool的創(chuàng)建者Tobi Oetiker編寫,能可視化的長期跟蹤網(wǎng)絡(luò)質(zhì)量,使用瀏覽器交互式圖形展現(xiàn),支持分布式部署,可以配置報警,并且支持插件。
10.ApacheBench
ApacheBench(ab)是一個單線程命令行計算機(jī)程序,用于測量HTTP Web服務(wù)器的性能。最初設(shè)計用于測試Apache HTTP Server,通用于測試任何Web服務(wù)器。
ApacheBench與標(biāo)準(zhǔn)Apache源代碼分發(fā)捆綁在一起,與Apache Web服務(wù)器本身一樣,是免費的開源軟件,并根據(jù)Apache許可證的條款進(jìn)行分發(fā)。
11.SysBench
sysbench是一個基于LuaJIT的可編寫腳本的多線程基準(zhǔn)測試工具。 它最常用于數(shù)據(jù)庫基準(zhǔn)測試,但也可用于創(chuàng)建不涉及數(shù)據(jù)庫服務(wù)器的任意復(fù)雜工作負(fù)載。
sysbench特性如下:
12.Zabbix
圖8:zabbix網(wǎng)站上Zabbix運行截圖
Zabbix是目前流行的開源監(jiān)控工具,支持常見操作系統(tǒng),支持網(wǎng)絡(luò)設(shè)備,配置靈活,支持自定義指標(biāo)的監(jiān)控,支持多種報警方式。
Zabbix很適合長期對云的性能監(jiān)控,也可以和性能測試工具聯(lián)動,可視化的展現(xiàn)測試結(jié)果。
測試之前,首先需要理解被測試的指標(biāo),開源工具的使用一般都有些門檻,需要多研究和實戰(zhàn)。上面介紹的開源工具基本都支持命令行,可以寫成腳本,方便日常使用,也可以結(jié)合自己的運維場景,盡量將常用場景的測試自動化。
由于云環(huán)境復(fù)雜,并且可能每個業(yè)務(wù)場景對云的要求也不一樣,使用云之前需要對云進(jìn)行從性能到網(wǎng)絡(luò)、再到業(yè)務(wù)的全面評測,做到心中有底,才能避免業(yè)務(wù)發(fā)生問題。隨著業(yè)務(wù)壓力增加,由于有詳細(xì)的數(shù)據(jù),也能做到心中有數(shù),讓對云的使用盡在把握中。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。