許 偉 宮立圓
(萊蕪職業(yè)技術(shù)學(xué)院 山東 萊蕪 271100)
云計(jì)算是處理和儲(chǔ)存大量數(shù)據(jù)的一種新興技術(shù)。它基于互聯(lián)網(wǎng)分布式計(jì)算機(jī)協(xié)作,高效處理大量信息,同時(shí)確查詢結(jié)果保快速反饋給用戶。許多云計(jì)算用戶不喜歡使用自己的物理基礎(chǔ)設(shè)施,相反,他們從第三方租用基礎(chǔ)設(shè)施,云平臺(tái)和軟件。這些基礎(chǔ)設(shè)施提供的應(yīng)用服務(wù)被稱為云服務(wù)。[1]
云服務(wù)的一個(gè)關(guān)鍵技術(shù)就是容錯(cuò)技術(shù)。故障和異常會(huì)影響服務(wù)質(zhì)量,甚至可用性。Coulouris[2]提出,故障發(fā)生在分布式系統(tǒng),比如,在云計(jì)算系統(tǒng),當(dāng)一個(gè)進(jìn)程或一個(gè)連接通道偏離其正常或預(yù)期時(shí),故障就會(huì)發(fā)生。異常不同于故障,它會(huì)部分減弱云計(jì)算系統(tǒng)性能,而不是使其完全失效,它會(huì)影響某節(jié)點(diǎn)的任務(wù)性能,最終影響系統(tǒng)自身。
ISO 15939[3]描述了測試的四個(gè)步驟,如圖1所示。
性能測試框架改進(jìn)了ISO 15939中所描述的前兩個(gè)測試步驟:(1)建立測試文件,(2)規(guī)劃測試過程。這一框架定義了云計(jì)算性能測試的要求,數(shù)據(jù)類型,和評(píng)價(jià)標(biāo)準(zhǔn)。在未來的工作中,云計(jì)算系統(tǒng)測試方法和性能測試模型的設(shè)計(jì)將得到進(jìn)一步發(fā)展。
系統(tǒng)的性能測試方法中比較熟悉的一個(gè)是由Jain[4]提出的,他認(rèn)為性能研究首先要建立一套性能標(biāo)準(zhǔn)來幫助實(shí)施系統(tǒng)測試過程。如果一個(gè)系統(tǒng)正確執(zhí)行一個(gè)服務(wù),其性能可通過三方面進(jìn)行測試:(1)響應(yīng)時(shí)間,(2)吞吐量,(3)占用率。并針對(duì)這三點(diǎn)分別提出一個(gè)測試過程。此外,Jain認(rèn)為服務(wù)請(qǐng)求結(jié)果有三類:(1)該服務(wù)被正確執(zhí)行,(2)該服務(wù)被非正確執(zhí)行,(3)該服務(wù)被拒絕執(zhí)行。他還對(duì)影響系統(tǒng)性能的每個(gè)可能結(jié)果,定義了三個(gè)性能:(1)速度,(2)可靠性,(3)可用性。
ISO 25010[5]標(biāo)準(zhǔn)從兩個(gè)角度定義軟件產(chǎn)品和計(jì)算機(jī)系統(tǒng)質(zhì)量:
(1)使用質(zhì)量模型:即產(chǎn)品在特定使用范圍下相互作用的結(jié)果。
(2)產(chǎn)品質(zhì)量模型:即軟件的靜態(tài)性能和計(jì)算機(jī)系統(tǒng)的動(dòng)態(tài)性能。
ISO 25010中,兩個(gè)性能決定了基于用戶需求的特定環(huán)境下的產(chǎn)品質(zhì)量。例如,性能效率和可靠性與具體專業(yè)領(lǐng)域用戶相關(guān),包括信息傳輸、管理、維護(hù)。執(zhí)行效率包括:(1)時(shí)間行為,(2)資源利用,(3)容量??煽啃园ǎ海?)成熟度,(2)可用性,(3)容錯(cuò),(4)可恢復(fù)性。
基于Jain提出的性能概念和ISO25010中定義的產(chǎn)品質(zhì)量特征,我們認(rèn)為云計(jì)算系統(tǒng)的性能取決于對(duì)提供有效和可靠服務(wù)的特點(diǎn)分析,該服務(wù)能夠滿足規(guī)定條件下和最大限度系統(tǒng)參數(shù)范圍內(nèi)的要求。性能相關(guān)的主要指標(biāo)有:
性能效率:規(guī)定條件下使用的資源量,包括軟件產(chǎn)品、軟硬件配置、材料。
時(shí)間行為:響應(yīng)時(shí)間、處理時(shí)間和產(chǎn)品或系統(tǒng)的吞吐率。容量:滿足要求的參數(shù)的最大極限。
資源利用:執(zhí)行其功能時(shí),產(chǎn)品或系統(tǒng)所需的資源數(shù)量和類型。
可靠性:在特定時(shí)間段特定環(huán)境下,系統(tǒng)或組件執(zhí)行規(guī)定功能的程度。
成熟度:一個(gè)系統(tǒng)在正常運(yùn)行下滿足可靠性要求的程度。
可用性:使用過程中,一個(gè)系統(tǒng),產(chǎn)品或組件是否能運(yùn)行和被訪問。
容錯(cuò):盡管存在硬件或軟件錯(cuò)誤,一個(gè)系統(tǒng),產(chǎn)品或組件正常運(yùn)作的程度。
可恢復(fù)性:產(chǎn)品或系統(tǒng)能夠直接恢復(fù)發(fā)生干擾或失敗事件中的數(shù)據(jù)的程度。
系統(tǒng)性能取決于性能效率和可靠性。性能效率決定一段時(shí)間內(nèi)的資源使用數(shù)額,可靠性決定在相同時(shí)間段內(nèi)系統(tǒng)成功執(zhí)行特定功能的程度。假設(shè)云計(jì)算系統(tǒng)正確執(zhí)行一個(gè)服務(wù),但是,在其執(zhí)行過程中,服務(wù)失敗,后來又恢復(fù)。雖然服務(wù)最終成功完成,但是系統(tǒng)的可用性受到損害,這影響了云計(jì)算系統(tǒng)性能。
ISO 19761 COSMIC測試方法[6]定義了一個(gè)功能用戶需求的軟件性能模型。功能用戶需求描述了軟件或系統(tǒng)的功能。根據(jù)這一方法,每個(gè)功能用戶需求以一個(gè)或多個(gè)功能過程表示,每個(gè)功能過程分配給一個(gè)軟件來執(zhí)行。反過來,每個(gè)功能過程以子過程表示,即數(shù)據(jù)傳輸類型或數(shù)據(jù)轉(zhuǎn)換類型。
該功能模型中的四種數(shù)據(jù)傳輸類型是輸入,輸出,讀和寫。圖2顯示了通用軟件的COSMIC模型。
COSMIC模型[7]中,如圖2所示的左側(cè):軟件可以由用戶,硬件設(shè)備或其他軟件通過設(shè)備使用,如鍵盤,打印機(jī),鼠標(biāo)等。此外圖2右邊,存儲(chǔ)器硬件決定軟件,如硬盤。因此,軟件的功能可以被視為一個(gè)數(shù)據(jù)流的輸入、輸出、讀、寫數(shù)據(jù)。輸入輸出操作允許用戶通過I/O設(shè)備進(jìn)行數(shù)據(jù)交換,讀取和寫入數(shù)據(jù)操作允許軟件和存儲(chǔ)器之間進(jìn)行數(shù)據(jù)交換。
圖2 通用COSMIC模型
根據(jù)通用軟件的COSMIC模型和上面提到的抽象算法,我們提出的通用云計(jì)算系統(tǒng)性能測試框架設(shè)計(jì)如圖3所示。左邊表示云計(jì)算系統(tǒng),輸入云計(jì)算系統(tǒng)的詳細(xì)屬性如內(nèi)存使用,CPU占用率,網(wǎng)絡(luò)連接信息等,以及用戶應(yīng)用程序的屬性,如已完成的任務(wù),錯(cuò)誤的任務(wù)等。這些屬性通過各種測量函數(shù)來量化效率和可靠性,以滿足功能要求。這些測試函數(shù)將系統(tǒng)屬性轉(zhuǎn)化成表示性能的數(shù)值。屬性測試的理想值表示系統(tǒng)要求即可行性所滿足的值。與測試的實(shí)際值比較就能得到系統(tǒng)的滿意程度。
圖3 通用云計(jì)算系統(tǒng)測試框架
性能測試框架確定后,下一步是確定各種性能相關(guān)的參數(shù),并評(píng)估是否滿足系統(tǒng)要求。我們選擇ECSS[9]和ISO 25010[5]標(biāo)準(zhǔn)制定系統(tǒng)要求。確定測試的關(guān)鍵環(huán)節(jié),而且這些已包括在框架中。這些性能參數(shù)組成各種函數(shù),使用組合基礎(chǔ)測試法引導(dǎo)測試過程。而且它們與ISO 25010質(zhì)量體系概念相對(duì)應(yīng)。
詳細(xì)的云計(jì)算性能測試框架模型如圖4所示。這些功能將通過一個(gè)中間服務(wù)進(jìn)行連接,這個(gè)中間服務(wù)能分享基本的測試,來減少測試計(jì)算。
性能測試框架由七個(gè)質(zhì)量控制組成。使用五個(gè)基本函數(shù)對(duì)每個(gè)概念進(jìn)行衡量,通過中間服務(wù)共享基礎(chǔ)測量。這意味著中間服務(wù)將分享從測量過程的每部分的結(jié)果。測試框架要求前期捕獲所需的數(shù)據(jù)。這些數(shù)據(jù)可以使用自動(dòng)數(shù)據(jù)采集軟件進(jìn)行收集。
圖4 詳細(xì)的云計(jì)算性能測試框架模型
利用該框架,我們可以證明測試的可行性。例如,一個(gè)時(shí)間函數(shù)可以進(jìn)行多種測試,如CPU占用,工作時(shí)間和響應(yīng)時(shí)間。這些測試是通過使用數(shù)據(jù)采集器來獲得所需要的基本測試數(shù)據(jù)。反過來,這些測試數(shù)據(jù)可以輸入到時(shí)間函數(shù),并計(jì)算出測試結(jié)果。這些測試根據(jù)用戶,開發(fā)人員或維護(hù)人員的期望值組合起來。最后,根據(jù)初始性能要求,通過分析模型來對(duì)云計(jì)算系統(tǒng)性能進(jìn)行分析。
云計(jì)算是一種能高效地處理大量數(shù)據(jù)基于互聯(lián)網(wǎng)的技術(shù)。它的一個(gè)最重要的挑戰(zhàn)是提供一個(gè)高水平的耐故障和異常機(jī)制。本文提出了云計(jì)算系統(tǒng)的一種性能測試框架。這種框架確定了用的軟件質(zhì)量概念衡量集群行為所必要的元素??蚣艿脑O(shè)計(jì)是基于計(jì)量概念,和軟件質(zhì)量直接相關(guān)的性能概念。我們發(fā)現(xiàn),性能效率和可靠性與Jain的測試結(jié)果密切相關(guān)。
需要進(jìn)一步研究測試方法和云計(jì)算的應(yīng)用程序性能分析機(jī)制,有助于評(píng)估驗(yàn)證我們提出的測試框架。預(yù)計(jì)未來將提出一種分析模型,能夠檢測可能存在的影響云計(jì)算系統(tǒng)性能的異?,F(xiàn)象。
[1]H.Jin,S.Ibrahim,T.Bell,L.Qi,H.Cao,S.Wu and X.Shi,Tools and Technologies for Building Clouds.Cloud Computing:Principles, Systems and Applications,Computer Communications and Networks, Springer-Verlag,Berlin,2010.
[2]G.Coulouris,J.Dollimore and T.Kindberg.Distributed Systems Concepts and Design.Addison-Wesley,4th Edition,Pearson Education, Edinburgh,2005.
[3]ISO/IEC 15939 Systems and Software Engineering Measure.International Organization for Standardization ement Process,Geneva,2007.
[4]J.Raj.The Art of Computer Systems Performance Analysis:Techniques for Experimental Design,Measurement,Simulation,and Modeling.Wiley-Interscience,New York,1991.
[5]ISO/IEC 25010:2010(E)Systems and Software Engineering-Systems and Software Product Quality Requirements and Evaluation(SQuaRE)-System and Software Quality Models.International Organization for Standardization,Geneva,2010.
[6]ISO/IEC-19761 Software Engineering-COSMIC v 3.0A Functional Size Measurement Method.International Organization for Standardization,Geneva,2003.
[7]A.Abran.Software Metrics and Software Metrology.John Wiley& Sons Interscience and IEEE-CS Press,New York,2010,doi:10.1002/ 9780470606834.
[8]K.Sarayreh,A.Abran and L.Santillo.Measurement of Software Requirements Derived from System Reliability Requirements.Workshop on Advances on Functional Size Measurement and Effort Estimation,24th European Conference on Object Oriented Programming,Maribor,20-22,June,2010.
[9]ECSS-E-ST-10C Space Engineering:System Engineering General Requirements.European Cooperation for Space Standardization,Requirements&Standards Division,Noordwijk,2009.