云計算的根本是計算資源虛擬化,在云計算蓬勃發(fā)展的今天,各廠商紛紛推出虛擬化平臺產(chǎn)品,如何衡量一款產(chǎn)品性能的好壞,也成為業(yè)內(nèi)新的技術(shù)挑戰(zhàn)。從技術(shù)層面分析,虛擬化平臺是在虛擬機(jī)操作系統(tǒng)與物理服務(wù)器硬件之間增加了一個調(diào)度層,勢必會對應(yīng)用程序操作硬件產(chǎn)生一定影響;同時其自身運(yùn)行也需要耗費一定的計算資源,對整個物理服務(wù)器的資源使用會產(chǎn)生損耗,這些都是在性能測試設(shè)計中需要考慮的方面。
根據(jù)云計算中最為關(guān)鍵的3個要素:計算資源、網(wǎng)絡(luò)資源和存儲資源,虛擬化平臺性能測試也對應(yīng)地分為計算性能測試、網(wǎng)絡(luò)性能測試和存儲性能測試3個主要方面。
1.計算性能測試設(shè)計
計算資源是云計算的重中之重,所有業(yè)務(wù)的展開都是依托于計算資源的能力提供,因此計算性能也是衡量云計算性能的最重要指標(biāo)。計算性能測試設(shè)計分為兩個方面:①對虛擬化平臺自身消耗硬件系統(tǒng)性能進(jìn)行評估;②不同虛擬化平臺對虛擬機(jī)操作系統(tǒng)業(yè)務(wù)調(diào)度的影響進(jìn)行比較。
1.1 虛擬化平臺性能消耗測試設(shè)計不同廠家的虛擬化平臺采用了不同的底層技術(shù),當(dāng)前業(yè)內(nèi)主流的4大類虛擬化底層平臺為:VMware的ESX/ESXi、Microsoft的Hyper—V和開源的XEN與KVM。這些不同的底層平臺對CPU和內(nèi)存等計算資源的調(diào)度方式各不相同,很難找到一個通用的技術(shù)工具來統(tǒng)一衡量。如果變換角度,通過測試在同一硬件平臺下虛擬機(jī)操作系統(tǒng)和物理機(jī)操作系統(tǒng)對資源的使用性能,可以推算出虛擬化平臺自身的運(yùn)行損耗。
第1步,選擇一款物理服務(wù)器平臺,然后在此服務(wù)器上安裝測試使用的操作系統(tǒng),可以選擇Windows或Linux系統(tǒng)。接著安裝常用的計算性能測試軟件,如Windows Server系統(tǒng)自帶的評測工具或開源的Benchmarker等,測算當(dāng)前系統(tǒng)計算性能得分。如果采用Linux Server系統(tǒng),則可以安裝如Imbench和Geekbench等測試工具,進(jìn)行評測。性能測試后得到測試結(jié)果TestResult1。
第2步,在物理服務(wù)器上安裝虛擬化平臺軟件,創(chuàng)建一個虛擬機(jī),并將物理服務(wù)器的CPU和內(nèi)存等計算資源都分配給此虛擬服務(wù)器。然后在此虛擬服務(wù)器上安裝同樣的操作系統(tǒng)與測試工具,運(yùn)行相同的測試項目,得到測試結(jié)果TestResult2。
比較兩個測試結(jié)果的差值,可以得到虛擬化平臺對物理資源的損耗估計值。如果希望得到更準(zhǔn)確的損耗估計,需要測試同一款虛擬化平臺安裝在不同物理服務(wù)器上,部署多個操作系統(tǒng)和測試工具情況下的測試結(jié)果,并進(jìn)行縱向比較,得到更多的參考數(shù)據(jù)。
1.2 虛擬化平臺調(diào)度性能測試設(shè)計虛擬化平臺性能損耗測試是縱向測試,比較的對象為物理服務(wù)器和虛擬服務(wù)器環(huán)境下的測試結(jié)果。而虛擬化平臺調(diào)度性能測試則為橫向測試,比較的對象主要為相同物理服務(wù)器和軟件環(huán)境下不同虛擬化平臺的性能測試結(jié)果。兩者的測試方法區(qū)別不大,但環(huán)境設(shè)定存在差異。
第1步,選取相同的物理服務(wù)器硬件平臺,安裝虛擬化平臺軟件,并創(chuàng)建虛擬服務(wù)器,此時不需要安裝最大化部署計算資源,只需考慮業(yè)務(wù)環(huán)境需求創(chuàng)建對應(yīng)大小CPU和內(nèi)存資源的虛擬機(jī)即可。然后在虛擬機(jī)上安裝操作系統(tǒng)與測試工具,取得測試結(jié)果TestResult1。
第2步,更換虛擬化平臺軟件,創(chuàng)建同樣資源大小的虛擬服務(wù)器并安裝運(yùn)行環(huán)境,取得測試結(jié)果TestResult2。比較兩個測試結(jié)果,可以得到不同虛擬化平臺的調(diào)度運(yùn)行性能。如果希望得到更準(zhǔn)確的調(diào)度性能結(jié)果,建議將相同測試運(yùn)行多次,取平均值再進(jìn)行比較。
2.網(wǎng)絡(luò)性能測試設(shè)計
在虛擬化環(huán)境下,用戶關(guān)心的流量轉(zhuǎn)發(fā)已經(jīng)由物理節(jié)點鏈路延伸到服務(wù)器內(nèi)部,從測試設(shè)計考慮,網(wǎng)絡(luò)性能測試也相應(yīng)地增加了虛擬鏈路與虛擬交換機(jī)的轉(zhuǎn)發(fā)性能等相關(guān)內(nèi)容。虛擬鏈路(虛擬網(wǎng)卡)性能測試重點關(guān)注的是虛擬化平臺為虛擬服務(wù)器提供的虛擬網(wǎng)卡的轉(zhuǎn)發(fā)性能,即測試模型主要以單點到單點的轉(zhuǎn)發(fā)為主。虛擬交換機(jī)性能測試則關(guān)注的是在限定的物理服務(wù)器平臺下,虛擬交換機(jī)可以提供的最大全虛擬服務(wù)器節(jié)點的轉(zhuǎn)發(fā)性能,即測試模型主要以多點到多點的轉(zhuǎn)發(fā)為主。
2.1 虛擬鏈路性能測試設(shè)計:虛擬鏈路性能測試結(jié)果主要與虛擬機(jī)采用的虛擬網(wǎng)絡(luò)驅(qū)動類型有關(guān),同時受限于虛擬化平臺的軟件轉(zhuǎn)發(fā)能力。測試過程重點關(guān)注同一物理機(jī)內(nèi)部的虛擬機(jī)之間的流量轉(zhuǎn)發(fā)能力。對跨物理交換機(jī)網(wǎng)絡(luò)的不同物理服務(wù)器之間的轉(zhuǎn)發(fā)能力,由于會受到物理網(wǎng)卡及網(wǎng)絡(luò)設(shè)備的影響,測試結(jié)果往往體現(xiàn)的是整個系統(tǒng)的性能,對單一虛擬化平臺性能衡量不夠精確。
測試虛擬鏈路性能常用的方法是在同一物理服務(wù)器內(nèi)部創(chuàng)建2臺虛擬機(jī)(圖1),在相同的操作系統(tǒng)和軟件環(huán)境下,使用相同的測試工具(如NetPerf和Iperf等)測試流量轉(zhuǎn)發(fā)性能。對于測試結(jié)果有兩點注意事項:①比較不同廠家虛擬化平臺產(chǎn)品的虛擬鏈路性能時,需要保證測試的物理平臺與虛擬機(jī)操作系統(tǒng)相同。②測試結(jié)果有時還會受到測試工具所在操作系統(tǒng)的影響,測試過程中需要對TCP滑動窗口大小和傳輸報文負(fù)載大小等參數(shù)進(jìn)行調(diào)整,以取得虛擬化平臺能夠承載的最大值和最接近真實應(yīng)用數(shù)據(jù)模型情況下的測試結(jié)果。
圖1 虛擬鏈路性能測試模型
2.2 虛擬交換機(jī)性能測試設(shè)計:虛擬化平臺上通常需要部署大量虛擬機(jī),因此也需要測試在復(fù)雜環(huán)境下大量虛擬機(jī)轉(zhuǎn)發(fā)對虛擬交換機(jī)vswitch的影響,從而得到vswitch的最大轉(zhuǎn)發(fā)性能。同樣,此測試設(shè)計只對同一物理服務(wù)器內(nèi)部流量轉(zhuǎn)發(fā)模型有意義,對于跨物理服務(wù)器的流量模型,測試結(jié)果無法準(zhǔn)確衡量虛擬交換機(jī)的性能。
虛擬交換機(jī)性能測試需要測試大量虛擬機(jī)同時進(jìn)行流量轉(zhuǎn)發(fā)隋況下的性能,假設(shè)建立虛擬機(jī)為a1,a2,...,am;bl,b2,...,bn,流量模型可以分為Backbone或Fullmesh兩類(圖2)。
圖2 虛擬交換機(jī)性能測試模型
Backbone模型是建立每個a節(jié)點到每個b節(jié)點的雙向流量,而a節(jié)點內(nèi)部和b節(jié)點內(nèi)部沒有流量交互,測試結(jié)果可以衡量兩組虛擬機(jī)之間的流量交互性能。Fullmesh模型則是在所有節(jié)點之間都要建立流量交互,以測試虛擬交換機(jī)連接所有虛擬機(jī)均有多條流量轉(zhuǎn)發(fā)情況下的性能。
測試時,需要根據(jù)實際業(yè)務(wù)模型來選取測試的流量模型。如果虛擬機(jī)部署為應(yīng)用與數(shù)據(jù)庫兩類,只有互相訪問,而沒有內(nèi)部交互,則可以選擇Backbone模型進(jìn)行測試;如果部署同一類型用于分布式計算的虛擬機(jī),相互之間都會有流量產(chǎn)生,則選擇Fullmesh模型測試更加適合。
由于測試過程中需要大量虛擬機(jī)同時收發(fā)流量,則常規(guī)的單一開源測試軟件如NetPerf或Iperf等很難滿足需求,需要配合STAF等自動化測試平臺軟件才能完成任務(wù)的同步下發(fā)和管理。此類測試還有一些常用的專業(yè)測試工具,如Spirent的STCv、IXIA的IxVM等測試軟件。這類軟件的原理是根據(jù)模板建一個虛擬機(jī),此虛擬機(jī)唯一的工作任務(wù)就是收發(fā)流量測試,不需要再安裝操作系統(tǒng)與額外的軟件工具。相對來說操作簡單,同時可以提供更加豐富的數(shù)據(jù)。缺點是開銷較大。
虛擬交換機(jī)性能測試同樣完全受限于物理服務(wù)器硬件平臺和虛擬化平臺的能力,因此只有在相同物理平臺下,比較不同廠商的測試結(jié)果才有意義。
3.存儲性能測試設(shè)計
在云計算虛擬化平臺中,使用的存儲設(shè)備資源可以為FC SAN、iSCSI、NFS、Samba等網(wǎng)絡(luò)存儲方式,無論使用哪種存儲方式,虛擬化平臺都會將其進(jìn)行轉(zhuǎn)化,最終以文件形式形成虛擬機(jī)的磁盤文件或直接以卷的形式供虛擬機(jī)使用。因此,測試設(shè)計時只需要考慮測試場景均采用同種存儲方式進(jìn)行搭建下的測試即可。
關(guān)注的存儲性能測試結(jié)果主要是IOPS和吞吐率兩個指標(biāo)。lOPS指每秒I/O吞吐數(shù)量,是存儲性能的常規(guī)測試指標(biāo),體現(xiàn)了虛擬化平臺對存儲I/O處理方面的能力。吞吐率指虛擬化平臺能夠處理的存儲流量大小,單位為Mbps,通常分為讀和寫兩個方向的結(jié)果,受限于磁盤的磁道寫人性能,通常讀速率性能要遠(yuǎn)大于寫速率性能。
測試時,為了比較不同廠家虛擬化平臺產(chǎn)品的存儲性能,需要在相同硬件環(huán)境下,采用相同的存儲介質(zhì)與存儲方式測試同一個指標(biāo),進(jìn)而將得到的測試結(jié)果進(jìn)行比較。測試工具可以選擇專用的存儲測試軟件,如IOmeter、IObench和IOzone等,也可以選用通用的測試平臺,如phoronix-test-suite的存儲相關(guān)性能測試套件等。安裝測試方法和前面的計算與網(wǎng)絡(luò)性能測試類似,都是先給虛擬機(jī)安裝Windows或Linux操作系統(tǒng),然后再安裝測試工具軟件進(jìn)行測試。
4.小結(jié)和展望
對于云計算虛擬化平臺產(chǎn)品,往往還會包括各種各樣的功能,如快照、備份、遷移、克隆等,這些相關(guān)特性也都有對應(yīng)的性能測試內(nèi)容,但是考慮到各廠商的實現(xiàn)均有差異,相關(guān)的性能測試也未能形成標(biāo)準(zhǔn),結(jié)果可比較性不強(qiáng)。
該研究中所述的計算、網(wǎng)絡(luò)和存儲性能測試,是當(dāng)前云計算虛擬化平臺產(chǎn)品中被業(yè)內(nèi)所公認(rèn)的主要性能測試項目,其測試結(jié)果也已成為衡量云計算虛擬化平臺產(chǎn)品的關(guān)鍵性能指標(biāo)。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于云計算的虛擬化平臺性能研究
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839714710.html