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