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