摘 要: 由于云計(jì)算應(yīng)用和傳統(tǒng)應(yīng)用的特性區(qū)別,,使用傳統(tǒng)的測(cè)試方法和工具對(duì)云端應(yīng)用進(jìn)行性能測(cè)試有很多限制和不足。提出云端應(yīng)用模式的性能測(cè)試模式需要?jiǎng)?chuàng)新,,并介紹了幾種新的測(cè)試方法,。
關(guān)鍵詞: 云計(jì)算;性能測(cè)試,;方法
云計(jì)算被認(rèn)為是繼個(gè)人電腦,、互聯(lián)網(wǎng)之后信息技術(shù)的又一次重大變革。我國(guó)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展“十二五”規(guī)劃綱要把以云計(jì)算為代表的新一代信息技術(shù)確定為戰(zhàn)略性新興產(chǎn)業(yè)的發(fā)展重點(diǎn),。以云計(jì)算模式為服務(wù)特點(diǎn)的應(yīng)用將在各行業(yè)中得到快速發(fā)展[1],。
(1)電信行業(yè)的三大運(yùn)營(yíng)商加快實(shí)施云計(jì)算戰(zhàn)略,,借助云計(jì)算實(shí)現(xiàn)業(yè)務(wù)創(chuàng)新,。
(2)在金融行業(yè)中小型金融行業(yè)合力搭建公有云服務(wù)中心,。
?。?)政府通過(guò)云計(jì)算平臺(tái)建設(shè)帶動(dòng)電子政務(wù)改革。
?。?)教育行業(yè)建立共享云平臺(tái)提高資源利用率,。
在云端應(yīng)用蓬勃發(fā)展的時(shí)代潮流中,面對(duì)云端應(yīng)用不同于傳統(tǒng)應(yīng)用的特點(diǎn),,在性能測(cè)試領(lǐng)域也面臨新的挑戰(zhàn),,對(duì)云端應(yīng)用性能測(cè)試在方法上需要?jiǎng)?chuàng)新。云計(jì)算服務(wù)模式下性能測(cè)試面臨著諸多挑戰(zhàn),。
1 傳統(tǒng)性能測(cè)試模式發(fā)展滯后
相對(duì)于云計(jì)算服務(wù)應(yīng)用,,傳統(tǒng)應(yīng)用的服務(wù)器資源網(wǎng)絡(luò)資源是摸得著看得見(jiàn)的,是數(shù)據(jù)和資源集中模式的部署,,對(duì)于傳統(tǒng)模式的應(yīng)用當(dāng)前的自動(dòng)化測(cè)試工具能高效代替人工完成性能測(cè)試,,但是面對(duì)高度透明化和系統(tǒng)超大規(guī)模化的云計(jì)算服務(wù)應(yīng)用,傳統(tǒng)的性能測(cè)試工具和方法的發(fā)展已經(jīng)滯后,。
隨著網(wǎng)絡(luò)日益復(fù)雜化,、異構(gòu)化,特別是云計(jì)算背景下蓬勃發(fā)展的虛擬化技術(shù),、分布式計(jì)算,、分布式存儲(chǔ)等新技術(shù)發(fā)展,云計(jì)算服務(wù)的應(yīng)用模式變得日益透明和龐大,。很多時(shí)候,不僅被測(cè)對(duì)象是龐大的數(shù)量規(guī)模,,甚至被測(cè)對(duì)象是看不到摸不著的云端應(yīng)用,。傳統(tǒng)測(cè)試方法和工具面臨更大的挑戰(zhàn)。
對(duì)于在云環(huán)境中的應(yīng)用來(lái)說(shuō),,要測(cè)試與應(yīng)用有關(guān)的網(wǎng)絡(luò)性能,、服務(wù)器性能、數(shù)據(jù)庫(kù)性能,、軟件性能以及它在客戶端上的緩存情況,。對(duì)于在云環(huán)境中只有在某個(gè)位置上運(yùn)行的一個(gè)應(yīng)用,但是對(duì)于Amazon或Facebook來(lái)說(shuō),,應(yīng)用分布在許多不同且無(wú)法預(yù)測(cè)的位置上,。這種情況顯然要比運(yùn)行一個(gè)基于單一服務(wù)器的應(yīng)用測(cè)試腳本復(fù)雜得多。
2 傳統(tǒng)性能測(cè)試方法的局限
2.1 海量云端壓力的模擬
目前性能測(cè)試工具的模擬用戶量受限且許可協(xié)議受約束,。以LoadRunner為例,,上萬(wàn)級(jí)別的許可費(fèi)用往往高達(dá)百萬(wàn)元的級(jí)別,而對(duì)于類似于鐵路售票,、公務(wù)員考試報(bào)名,、淘寶應(yīng)用等動(dòng)輒幾十萬(wàn)甚至上百萬(wàn)的用戶壓力,這類測(cè)試工具往往無(wú)能為力,。即使許可允許,,對(duì)于壓力機(jī)的部署數(shù)量也是一個(gè)恐怖的數(shù)字。假設(shè)一臺(tái)4核CPU,,8 GB內(nèi)存的服務(wù)器能模擬產(chǎn)生10 000用戶在線的腳本壓力,,對(duì)于上述透明統(tǒng)一的“云端”應(yīng)用系統(tǒng)動(dòng)輒需要幾十臺(tái)甚至上百臺(tái)壓力機(jī)進(jìn)行測(cè)試,形成了多臺(tái)壓力機(jī)壓云端的形態(tài),,測(cè)試成本非常龐大,。這是傳統(tǒng)壓力測(cè)試中“一機(jī)壓多機(jī)”的模式所不能比的。
2.2 傳統(tǒng)測(cè)試工具獲得真實(shí)用戶體驗(yàn)的難度
傳統(tǒng)數(shù)據(jù)集中式情況下的性能測(cè)試結(jié)果往往更多反應(yīng)的是系統(tǒng)本身的性能,,對(duì)于用戶的真實(shí)體驗(yàn)情況數(shù)據(jù)支撐不夠,。而云端服務(wù)的應(yīng)用模式、服務(wù)器,、數(shù)據(jù),、存儲(chǔ)等資源都是透明化的,,對(duì)于服務(wù)提供商來(lái)說(shuō)不僅僅關(guān)心的是系統(tǒng)自身的性能,更大程度上服務(wù)提供商同樣關(guān)心分布在各地的用戶體驗(yàn),,這是服務(wù)提供商的QoS指標(biāo),。對(duì)于最終用戶來(lái)說(shuō),獲取良好的QoS體驗(yàn)是其接受云服務(wù)的源動(dòng)力之一,。
目前性能測(cè)試工具可以模擬出用戶的訪問(wèn)行為,,但是腳本記錄往往是某次訪問(wèn)的路徑,不能代表所有用戶的訪問(wèn)路徑,,所以當(dāng)前腳本要遍歷用戶的訪問(wèn)路徑在腳本開(kāi)發(fā)和工具部署方面將付出巨大的成本,。
2.3 網(wǎng)絡(luò)運(yùn)營(yíng)商及CDN服務(wù)提供商對(duì)性能測(cè)試的影響
圖1所示是一個(gè)典型互聯(lián)網(wǎng)售票系統(tǒng)使用CDN[2]技術(shù)進(jìn)行網(wǎng)絡(luò)加速的應(yīng)用。這類架構(gòu)的系統(tǒng)具有典型的代表性,??梢钥闯鱿鄬?duì)于原來(lái)無(wú)CDN技術(shù)的數(shù)據(jù)中心模式,當(dāng)前云服務(wù)應(yīng)用的整個(gè)生態(tài)鏈融入了更多的廠商和應(yīng)用,,其中網(wǎng)絡(luò)運(yùn)營(yíng)商和CDN服務(wù)提供商是大型云計(jì)算服務(wù)器應(yīng)用不可回避的機(jī)構(gòu),。性能測(cè)試同樣需要這些諸多方面的配合。如測(cè)試網(wǎng)絡(luò)帶寬限制與協(xié)調(diào),、模擬IP的限制與協(xié)調(diào),、接入的安全問(wèn)題、與其他云服務(wù)的測(cè)試隔離問(wèn)題等,。
3 目前行業(yè)場(chǎng)景的云服務(wù)性能測(cè)試方式
3.1 完全模擬云端壓力測(cè)試
此種方式的測(cè)試結(jié)果參考性最強(qiáng),。但是對(duì)于大型的云端應(yīng)用,如淘寶系統(tǒng),、公眾售票系統(tǒng),、LoadRunner等傳統(tǒng)的壓力測(cè)試工具無(wú)法模擬海量用戶,目前LoadRunner可獲取的許可只是65 000個(gè)虛擬用戶,,無(wú)法面對(duì)幾十萬(wàn)甚至上百萬(wàn)的測(cè)試用戶需求,。而且需要獲得網(wǎng)絡(luò)運(yùn)營(yíng)商和網(wǎng)絡(luò)分發(fā)服務(wù)商的支持和配合,受限大,。目前得到應(yīng)用的往往是一些小規(guī)模的云計(jì)算應(yīng)用,,比如小型企業(yè)私有云測(cè)試。
3.2 混合測(cè)試策略
用傳統(tǒng)壓力工具如LoadRunner在內(nèi)網(wǎng)進(jìn)行背景壓力產(chǎn)生,,結(jié)合云端的用戶體驗(yàn)工具進(jìn)行模擬,。此方法測(cè)試結(jié)果參考性相對(duì)于獨(dú)立的內(nèi)網(wǎng)測(cè)試要強(qiáng),但是同樣無(wú)法模擬大量的云端壓力,,無(wú)法遍歷云端應(yīng)用的用戶訪問(wèn)路徑,,獲取全面的用戶體驗(yàn)數(shù)據(jù)。
3.3 無(wú)云端內(nèi)網(wǎng)測(cè)試
拋開(kāi)云端用戶體驗(yàn)的測(cè)試,在系統(tǒng)的內(nèi)網(wǎng)進(jìn)行測(cè)試,,結(jié)果數(shù)據(jù)只能代表系統(tǒng)本身的性能,,無(wú)法獲取散布的用戶體驗(yàn)數(shù)據(jù)。
3.4 對(duì)云端服務(wù)器進(jìn)行切片測(cè)試
通過(guò)推演計(jì)算云端服務(wù)能力進(jìn)行切片測(cè)試,。此方法雖執(zhí)行容易,,但是測(cè)試結(jié)果參考性最差。
4 業(yè)內(nèi)的測(cè)試方法探討與嘗試
基于目前云計(jì)算服務(wù)模式的發(fā)展,,當(dāng)前行業(yè)內(nèi)傳統(tǒng)的性能測(cè)試方法已經(jīng)相對(duì)滯后,。云計(jì)算服務(wù)模式對(duì)性能測(cè)試的要求更高,如更高的海里壓力模擬,、更豐富的用戶體驗(yàn)數(shù)據(jù)等,。面對(duì)這個(gè)局面,業(yè)內(nèi)也在進(jìn)行新測(cè)試方法的嘗試和探討,。
4.1 超算中心
使用超級(jí)計(jì)算中心產(chǎn)生壓力,針對(duì)各地CDN以及系統(tǒng)本身進(jìn)行性能測(cè)試,。模擬負(fù)載來(lái)自不同的地域,,可以綜合模擬在南北方不同網(wǎng)絡(luò)環(huán)境下的并發(fā)與在線情況;高性能計(jì)算機(jī)規(guī)模大,,可以模擬大規(guī)模的虛擬用戶,。但壓力通過(guò)不同運(yùn)營(yíng)商鏈路復(fù)雜,拓?fù)洳幻?,可能?dǎo)致模擬的負(fù)載失效,,而且?guī)捵赓U成本較高,1 Gb/s運(yùn)營(yíng)商帶寬租賃費(fèi)用達(dá)數(shù)十萬(wàn)元,。
4.2 通過(guò)云端產(chǎn)生測(cè)試壓力用于測(cè)試云計(jì)算應(yīng)用
這將是今后云性能測(cè)試的發(fā)展方向和理念,。利用現(xiàn)有成熟的網(wǎng)絡(luò)技術(shù)和虛擬化技術(shù)將分布在世界各個(gè)角落的壓力機(jī)整合起來(lái)進(jìn)行性能測(cè)試也是一種值得探討的方式。性能測(cè)試云平臺(tái)的概念是基于通過(guò)云端壓力測(cè)試云端服務(wù)的理念,,是超算中心模式的延伸,,這個(gè)超算中心不是超級(jí)計(jì)算機(jī)的集中,而是大量廉價(jià)服務(wù)器的集中,,將大量廉價(jià)服務(wù)器的計(jì)算能力整合為云端壓力的產(chǎn)生平臺(tái),。如Compuware公司的Gomez云測(cè)試平臺(tái)[3]和NEOTYS公司的Neolaod云測(cè)試平臺(tái)[4],目前此類測(cè)試服務(wù)的價(jià)格都是非常昂貴的,。
4.3 整合開(kāi)源測(cè)試軟件進(jìn)行二次開(kāi)發(fā)新的云端測(cè)試平臺(tái)
可以預(yù)見(jiàn)在將來(lái)使用云端性能測(cè)試工具進(jìn)行云端服務(wù)的性能測(cè)試將是一個(gè)新的業(yè)務(wù)增長(zhǎng)點(diǎn),,應(yīng)對(duì)這個(gè)業(yè)務(wù)增長(zhǎng)需求,除了購(gòu)買昂貴的商業(yè)云測(cè)試工具服務(wù)外,,整合現(xiàn)有的開(kāi)源軟件測(cè)試工具進(jìn)行二次開(kāi)發(fā),,從當(dāng)前的工具功能和開(kāi)發(fā)技術(shù)來(lái)說(shuō)具備技術(shù)可行性,這樣基于開(kāi)源平臺(tái)的云端測(cè)試平臺(tái)將是很低廉的。
參考文獻(xiàn)
[1] 野村綜合研究所技術(shù)調(diào)查部.2010-2014年全球信息技術(shù)導(dǎo)航圖[J].2010:60-72.
[2] 內(nèi)容分發(fā)網(wǎng)絡(luò)[EB/OL].[2010-03-06]http://baike.baidu.com/view/21895.htm.
[3] Gomez[EB/OL].[2010-09-16]http://www.compuware.com/application-performance-management.
[4] Neoload testing[EB/OL].[2010-04-12]http://www.neotys.com/.