《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 應(yīng)用走向云端的性能測試挑戰(zhàn)
應(yīng)用走向云端的性能測試挑戰(zhàn)
來源:微型機(jī)與應(yīng)用2013年第17期
周 悅,覃文闖,胡一鳴
(國家應(yīng)用軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心,北京 100193)
摘要: 由于云計(jì)算應(yīng)用和傳統(tǒng)應(yīng)用的特性區(qū)別,使用傳統(tǒng)的測試方法和工具對云端應(yīng)用進(jìn)行性能測試有很多限制和不足。提出云端應(yīng)用模式的性能測試模式需要?jiǎng)?chuàng)新,并介紹了幾種新的測試方法。
關(guān)鍵詞: 云計(jì)算 性能測試 方法
Abstract:
Key words :

摘  要: 由于云計(jì)算應(yīng)用和傳統(tǒng)應(yīng)用的特性區(qū)別,使用傳統(tǒng)的測試方法和工具對云端應(yīng)用進(jìn)行性能測試有很多限制和不足。提出云端應(yīng)用模式的性能測試模式需要?jiǎng)?chuàng)新,并介紹了幾種新的測試方法。
關(guān)鍵詞: 云計(jì)算;性能測試;方法

 云計(jì)算被認(rèn)為是繼個(gè)人電腦、互聯(lián)網(wǎng)之后信息技術(shù)的又一次重大變革。我國國民經(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)營商加快實(shí)施云計(jì)算戰(zhàn)略,借助云計(jì)算實(shí)現(xiàn)業(yè)務(wù)創(chuàng)新。
?。?)在金融行業(yè)中小型金融行業(yè)合力搭建公有云服務(wù)中心。
?。?)政府通過云計(jì)算平臺(tái)建設(shè)帶動(dòng)電子政務(wù)改革。
?。?)教育行業(yè)建立共享云平臺(tái)提高資源利用率。
 在云端應(yīng)用蓬勃發(fā)展的時(shí)代潮流中,面對云端應(yīng)用不同于傳統(tǒng)應(yīng)用的特點(diǎn),在性能測試領(lǐng)域也面臨新的挑戰(zhàn),對云端應(yīng)用性能測試在方法上需要?jiǎng)?chuàng)新。云計(jì)算服務(wù)模式下性能測試面臨著諸多挑戰(zhàn)。
1 傳統(tǒng)性能測試模式發(fā)展滯后
 相對于云計(jì)算服務(wù)應(yīng)用,傳統(tǒng)應(yīng)用的服務(wù)器資源網(wǎng)絡(luò)資源是摸得著看得見的,是數(shù)據(jù)和資源集中模式的部署,對于傳統(tǒng)模式的應(yīng)用當(dāng)前的自動(dòng)化測試工具能高效代替人工完成性能測試,但是面對高度透明化和系統(tǒng)超大規(guī)?;脑朴?jì)算服務(wù)應(yīng)用,傳統(tǒng)的性能測試工具和方法的發(fā)展已經(jīng)滯后。
隨著網(wǎng)絡(luò)日益復(fù)雜化、異構(gòu)化,特別是云計(jì)算背景下蓬勃發(fā)展的虛擬化技術(shù)、分布式計(jì)算、分布式存儲(chǔ)等新技術(shù)發(fā)展,云計(jì)算服務(wù)的應(yīng)用模式變得日益透明和龐大。很多時(shí)候,不僅被測對象是龐大的數(shù)量規(guī)模,甚至被測對象是看不到摸不著的云端應(yīng)用。傳統(tǒng)測試方法和工具面臨更大的挑戰(zhàn)。
對于在云環(huán)境中的應(yīng)用來說,要測試與應(yīng)用有關(guān)的網(wǎng)絡(luò)性能、服務(wù)器性能、數(shù)據(jù)庫性能、軟件性能以及它在客戶端上的緩存情況。對于在云環(huán)境中只有在某個(gè)位置上運(yùn)行的一個(gè)應(yīng)用,但是對于Amazon或Facebook來說,應(yīng)用分布在許多不同且無法預(yù)測的位置上。這種情況顯然要比運(yùn)行一個(gè)基于單一服務(wù)器的應(yīng)用測試腳本復(fù)雜得多。
2 傳統(tǒng)性能測試方法的局限
2.1 海量云端壓力的模擬

 目前性能測試工具的模擬用戶量受限且許可協(xié)議受約束。以LoadRunner為例,上萬級(jí)別的許可費(fèi)用往往高達(dá)百萬元的級(jí)別,而對于類似于鐵路售票、公務(wù)員考試報(bào)名、淘寶應(yīng)用等動(dòng)輒幾十萬甚至上百萬的用戶壓力,這類測試工具往往無能為力。即使許可允許,對于壓力機(jī)的部署數(shù)量也是一個(gè)恐怖的數(shù)字。假設(shè)一臺(tái)4核CPU,8 GB內(nèi)存的服務(wù)器能模擬產(chǎn)生10 000用戶在線的腳本壓力,對于上述透明統(tǒng)一的“云端”應(yīng)用系統(tǒng)動(dòng)輒需要幾十臺(tái)甚至上百臺(tái)壓力機(jī)進(jìn)行測試,形成了多臺(tái)壓力機(jī)壓云端的形態(tài),測試成本非常龐大。這是傳統(tǒng)壓力測試中“一機(jī)壓多機(jī)”的模式所不能比的。
2.2 傳統(tǒng)測試工具獲得真實(shí)用戶體驗(yàn)的難度
 傳統(tǒng)數(shù)據(jù)集中式情況下的性能測試結(jié)果往往更多反應(yīng)的是系統(tǒng)本身的性能,對于用戶的真實(shí)體驗(yàn)情況數(shù)據(jù)支撐不夠。而云端服務(wù)的應(yīng)用模式、服務(wù)器、數(shù)據(jù)、存儲(chǔ)等資源都是透明化的,對于服務(wù)提供商來說不僅僅關(guān)心的是系統(tǒng)自身的性能,更大程度上服務(wù)提供商同樣關(guān)心分布在各地的用戶體驗(yàn),這是服務(wù)提供商的QoS指標(biāo)。對于最終用戶來說,獲取良好的QoS體驗(yàn)是其接受云服務(wù)的源動(dòng)力之一。
目前性能測試工具可以模擬出用戶的訪問行為,但是腳本記錄往往是某次訪問的路徑,不能代表所有用戶的訪問路徑,所以當(dāng)前腳本要遍歷用戶的訪問路徑在腳本開發(fā)和工具部署方面將付出巨大的成本。
2.3 網(wǎng)絡(luò)運(yùn)營商及CDN服務(wù)提供商對性能測試的影響
 圖1所示是一個(gè)典型互聯(lián)網(wǎng)售票系統(tǒng)使用CDN[2]技術(shù)進(jìn)行網(wǎng)絡(luò)加速的應(yīng)用。這類架構(gòu)的系統(tǒng)具有典型的代表性。可以看出相對于原來無CDN技術(shù)的數(shù)據(jù)中心模式,當(dāng)前云服務(wù)應(yīng)用的整個(gè)生態(tài)鏈融入了更多的廠商和應(yīng)用,其中網(wǎng)絡(luò)運(yùn)營商和CDN服務(wù)提供商是大型云計(jì)算服務(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個(gè)虛擬用戶,無法面對幾十萬甚至上百萬的測試用戶需求。而且需要獲得網(wǎng)絡(luò)運(yùn)營商和網(wǎng)絡(luò)分發(fā)服務(wù)商的支持和配合,受限大。目前得到應(yīng)用的往往是一些小規(guī)模的云計(jì)算應(yīng)用,比如小型企業(yè)私有云測試。
3.2 混合測試策略
 用傳統(tǒng)壓力工具如LoadRunner在內(nèi)網(wǎng)進(jìn)行背景壓力產(chǎn)生,結(jié)合云端的用戶體驗(yàn)工具進(jìn)行模擬。此方法測試結(jié)果參考性相對于獨(dú)立的內(nèi)網(wǎng)測試要強(qiáng),但是同樣無法模擬大量的云端壓力,無法遍歷云端應(yīng)用的用戶訪問路徑,獲取全面的用戶體驗(yàn)數(shù)據(jù)。
3.3 無云端內(nèi)網(wǎng)測試
 拋開云端用戶體驗(yàn)的測試,在系統(tǒng)的內(nèi)網(wǎng)進(jìn)行測試,結(jié)果數(shù)據(jù)只能代表系統(tǒng)本身的性能,無法獲取散布的用戶體驗(yàn)數(shù)據(jù)。
3.4 對云端服務(wù)器進(jìn)行切片測試
 通過推演計(jì)算云端服務(wù)能力進(jìn)行切片測試。此方法雖執(zhí)行容易,但是測試結(jié)果參考性最差。
4 業(yè)內(nèi)的測試方法探討與嘗試
 基于目前云計(jì)算服務(wù)模式的發(fā)展,當(dāng)前行業(yè)內(nèi)傳統(tǒng)的性能測試方法已經(jīng)相對滯后。云計(jì)算服務(wù)模式對性能測試的要求更高,如更高的海里壓力模擬、更豐富的用戶體驗(yàn)數(shù)據(jù)等。面對這個(gè)局面,業(yè)內(nèi)也在進(jìn)行新測試方法的嘗試和探討。
4.1 超算中心
    使用超級(jí)計(jì)算中心產(chǎn)生壓力,針對各地CDN以及系統(tǒng)本身進(jìn)行性能測試。模擬負(fù)載來自不同的地域,可以綜合模擬在南北方不同網(wǎng)絡(luò)環(huán)境下的并發(fā)與在線情況;高性能計(jì)算機(jī)規(guī)模大,可以模擬大規(guī)模的虛擬用戶。但壓力通過不同運(yùn)營商鏈路復(fù)雜,拓?fù)洳幻鳎赡軐?dǎo)致模擬的負(fù)載失效,而且?guī)捵赓U成本較高,1 Gb/s運(yùn)營商帶寬租賃費(fèi)用達(dá)數(shù)十萬元。
4.2 通過云端產(chǎn)生測試壓力用于測試云計(jì)算應(yīng)用
 這將是今后云性能測試的發(fā)展方向和理念。利用現(xiàn)有成熟的網(wǎng)絡(luò)技術(shù)和虛擬化技術(shù)將分布在世界各個(gè)角落的壓力機(jī)整合起來進(jìn)行性能測試也是一種值得探討的方式。性能測試云平臺(tái)的概念是基于通過云端壓力測試云端服務(wù)的理念,是超算中心模式的延伸,這個(gè)超算中心不是超級(jí)計(jì)算機(jī)的集中,而是大量廉價(jià)服務(wù)器的集中,將大量廉價(jià)服務(wù)器的計(jì)算能力整合為云端壓力的產(chǎn)生平臺(tái)。如Compuware公司的Gomez云測試平臺(tái)[3]和NEOTYS公司的Neolaod云測試平臺(tái)[4],目前此類測試服務(wù)的價(jià)格都是非常昂貴的。
4.3 整合開源測試軟件進(jìn)行二次開發(fā)新的云端測試平臺(tái)
 可以預(yù)見在將來使用云端性能測試工具進(jìn)行云端服務(wù)的性能測試將是一個(gè)新的業(yè)務(wù)增長點(diǎn),應(yīng)對這個(gè)業(yè)務(wù)增長需求,除了購買昂貴的商業(yè)云測試工具服務(wù)外,整合現(xiàn)有的開源軟件測試工具進(jìn)行二次開發(fā),從當(dāng)前的工具功能和開發(fā)技術(shù)來說具備技術(shù)可行性,這樣基于開源平臺(tái)的云端測試平臺(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/.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。