1 引言
根據Gartner公司的研究報告,虛擬化和云計算(Cloud Computing)是2009年最為熱門的兩大技術;根據調查結果顯示,有超過50%以上的企業(yè)正在進行虛擬化應用的測試,有20%左右的企業(yè)表示已經使用了虛擬化技術。
通過對硬件/軟件接口的虛擬化,應用層業(yè)務可以不受下面所支撐硬件的限制,特別重要的是,通過虛擬化技術,硬件資源的更換或者升級對重要業(yè)務可以沒有任何影響。所以,虛擬化已經成為數據中心最重要的IT實現技術之一。本文重點介紹虛擬化技術的測試與IXIA相應的解決方案。
2 IXIA虛擬化測試方案
2.1 虛擬化技術概述
虛擬的數據中心結構可以有效提高硬件的使用效率、減少IT人員的工作量,還可以降低固定資產投資與運營成本。但是虛擬化的軟件同時也會對業(yè)務性能造成一定的下降,額外的時延、存儲接入訪問變慢的問題會影響到用戶體驗質量。網絡服務上虛擬軟件層對性能的影響有多大?在客戶操作系統(tǒng)和主機之間的延遲增加了多少?多個虛擬機同時運行之間是否對性能有很大的影響?這些都需要通過嚴格的測試進行驗證。IXIA IxVM就是為滿足下一代數據中心虛擬化的測試要求而推出的2~7層測試解決方案。
首先要區(qū)分3個概念,即多任務、超線程和虛擬技術,這3種技術的工作原理示意參見圖1。從圖1可以看到,虛擬化技術(Virtualization)和多任務(Multitasking)、超線程技術(HyperThreading)是完全不同的。多任務是指在一個操作系統(tǒng)中多個程序同時并行運行,而在虛擬化技術中,可以擁有多個操作系統(tǒng)同時運行,每一個操作系統(tǒng)中都有多個程序運行,每一個操作系統(tǒng)都運行在一個虛擬的CPU或者是虛擬主機上。而超線程只是在SMP系統(tǒng)(Symmetric Multi Processing)中單CPU模擬雙CPU來平衡程序運行性能,這兩個模擬出來的CPU不能分離,只能協(xié)同工作。
圖1 多任務、超線程和虛擬化技術原理比較圖
IxVM虛擬化測試方案包括5個方面:
●2~3層測試:采用無狀態(tài)的數據流量測試虛擬交換機VLAN泄露(VLAN Leakage)和QoS等特性。
●4~7層測試:采用應用層有狀態(tài)的TCP流量驗證虛擬網絡的性能,采用UDP類型的流媒體數據評估應用層網絡的丟包率與故障恢復時間等。
●存儲測試:模擬存儲設備評估虛擬化系統(tǒng)讀/寫磁盤速度等性能。
●虛擬化:模擬虛擬機(VM,Virtual Machine)來驗證VMotion和其他動態(tài)資源對網絡性能的影響。
●測試管理:在虛擬化的數據中心架構上管理超過上千個測試引擎。
2.2 IxChariot虛擬化測試方案
由于篇幅的限制,本文主要介紹IxVM IxChariot實現的一些典型測試例,這些測試例可以在傳統(tǒng)環(huán)境或者虛擬化環(huán)境中進行,可以幫助用戶快速評估在虛擬化環(huán)境下不同供應商硬件和軟件的性能優(yōu)化情況。表1列舉了典型的使用IxVM IxChariot進行虛擬環(huán)境下業(yè)務性能測試的例子。圖2是典型的虛擬環(huán)境下性能測試的示意圖,表1所列舉的前5個測試例都可以采用該圖的測試環(huán)境。
圖2 虛擬化環(huán)境下性能測試示意圖
表1 虛擬化典型性能測試例列表
1)TCP吞吐量測試
最大TCP吞吐量標示了系統(tǒng)或者網絡所能夠處理或者轉發(fā)的最大流量,TCP協(xié)議被大多數網絡服務所采用,操作系統(tǒng)協(xié)議棧、設備驅動和硬件通常都會對TCP協(xié)議做最好的優(yōu)化;穩(wěn)定的TCP協(xié)議性能需要高速內存以及網卡與其驅動的緊密集成,在虛擬化環(huán)境中,這種緊密集成必須通過虛擬化層才能達到最佳性能。TCP吞吐量測試是其它測試的基礎,在該測試項中,測試要求包括:
●兩臺服務器,每臺服務器各自運行一個VM。
●VM網絡接口直接橋接到服務器的網卡上。
●IxChariot測試引擎(Performance Endpoint)安裝在VM上。
●其它VM不使用或者處于空閑狀態(tài)以得到一個“基準的”測試結果,在第7個測試例中會專門分析多個VMs的影響。
●同樣的硬件和操作系統(tǒng),首先運行在非虛擬化環(huán)境下,比較其與虛擬化環(huán)境下的性能差異性。
●對于100Mbit/s~1G接口,采用High_performance_throughput.scr腳本;對于10G接口,采用Ultra_high_performance_throughput.scr腳本。
對于下面其它測試例,具有類似的測試要求與測試步驟,可以聯絡IXIA工程師獲得相應的操作手冊。
(2)UDP吞吐量測試
和TCP吞吐量測試類似,UDP吞吐量也能夠表示基本的網絡性能。但一般情況下,特別是在10G網絡中,UDP吞吐量要比TCP吞吐量稍低,這是因為UDP協(xié)議棧并沒有像TCP協(xié)議棧那樣得到很好的優(yōu)化。并且TCP和UDP數據包產生機制也有所不同,應用程序產生UDP數據包是以kB為單位,而網卡轉發(fā)TCP數據是以MB為單位進行的。該測試項采用udp_throughput.scr的測試腳本。
(3)反應時間測試
反應時間測試,有時也稱為“乒乓測試”,其原理是從測試引擎端點一發(fā)送100字節(jié)到測試引擎端點二,測試端點二會回應100個字節(jié),通過比較兩個系統(tǒng)的反應時間,可以計算出由于增加虛擬化層的額外時延,該測試項主要驗證虛擬化對運行有數據業(yè)務頻繁交易網絡的影響,測試出兩個VM之間的雙向時延。
(4)典型企業(yè)應用業(yè)務性能測試
IxVM IxChariot采用企業(yè)應用腳本模擬真實應用流量來測試時延和虛擬化的影響,IxChariot包括了很多企業(yè)應用業(yè)務腳本,比如SAP,Citrix等。IxProfile獨有的流量捕捉功能可以從網絡上捕獲所需要的流量類型來創(chuàng)建定制的腳步類型。在本測試例中,我們以Citrix為例,采用Citrix_ICA_Terminal_Server_Logon.scr腳本,驗證測試引擎一為客戶端,測試引擎二為Citrix服務器端時的系統(tǒng)登錄時間。
(5)緩存大小對性能指標的影響測試
在測試過程中,不同緩存大小設置對測試結果會有很大的影響,一般情況下,不同應用程序在傳送數據時使用的緩存大小是不同的,FTP協(xié)議通常使用64kB~1MB的緩存大小發(fā)送數據,HTTP協(xié)議通常采用20~50kB的緩存進行數據傳送,而有些應用,比如Microsoft Exchange業(yè)務,僅使用幾十到幾百字節(jié)的緩存進行數據交換。本測試就是驗證不同發(fā)送緩存大小對TCP吞吐量的影響,采用的IxChariot腳本為Response_time.scr。
在實驗中,驗證了4個不同的系統(tǒng),分別調整其發(fā)送緩存大小,圖3是4個不同被測系統(tǒng)在不同緩存大小情況下、吞吐量以及CPU利用率的測試結果示意,從圖中可以看到,設置的緩存越大、吞吐量就越高。
圖3 4個被測系統(tǒng),設置不同緩存大小與吞吐量,CPU利用率的關系示意
上面列舉的是一些在虛擬化環(huán)境下典型的、基本測試項目,但是虛擬化技術的快速發(fā)展,主要系統(tǒng)管理程序提供商也在不斷提高與優(yōu)化網絡性能與獨有的特性,硬件廠商也在努力對虛擬化的產品進行改進,這就需要考慮在測試時,充分評估特定硬件、系統(tǒng)管理程序以及與其協(xié)同工作的應用程序所能夠提供的用戶體驗質量(QoE)。
圖4是虛擬化的分層結構示意,VM由CPU資源被分成虛擬網卡和虛擬交換機等多個層次,每層都會有增大時延和減少吞吐量的可能性,通常系統(tǒng)都會對吞吐量指標進行優(yōu)化以減少系統(tǒng)應用的反應時間。
圖4 虛擬化的分層結構示意
(6)不同虛擬網卡設置參數的測試
不同虛擬化平臺都會將自定義的設備驅動與網絡功能擴展相結合以虛擬化的對網絡性能影響最小化,比如VMware有3種不同的虛擬網卡:AMD Lance,Intel e1000和vmxnet。每一種都有自己的優(yōu)點與缺點,微軟Hyper-V用戶通過停止客用操作系統(tǒng)的TCP offloading參數可以達到更好的性能。
使用上述測試例中的測試腳本可以準確評估虛擬化服務器上不同虛擬網卡設置對性能的影響。
(7)一個CPU所支持的VMs數量測試
在一些公開測試中,一些廠商表示每個CPU可以支持比其他廠家更多的VMs。驗證一個CPU支持2~4個VMs的性能之間的相互影響就顯得非常重要,同樣可以采用前面測試例中的測試腳本。分別在不同VMs上運行IxChariot測試引擎,以觀察在每個CPU運行多個VMs情況的吞吐量、時延等多種性能指標。
(8)一個VM支持多個網卡的測試
許多虛擬化產品允許每個VM使用多個網卡,多個物理網卡可以分配到同一個虛擬化的交換機上,在一個公開的報告中,某廠商表示通過在一個VM上關聯多個網卡可以顯著提高性能。使用前面提到測試例中的測試腳本,可以快速方便地驗證這種實現方案的性能優(yōu)化與提高程度。
3 結束語
作為下一代數據中心以太網測試技術的領導者與推動者,美國IXIA公司在數據中心以太網和虛擬化測試技術方面一直保持領先地位,作為VMware的測試合作伙伴與測試認證產品,IXIA在2009年4月推出了完整的2~7層虛擬化技術測試解決方案。和數據中心網絡方案提供商Emulx公司結成合作伙伴,提供融合網絡適配器(Convergence Network Adapter)的測試方法學與相關技術。隨著虛擬化技術在國內更為廣泛的應用,IXIA公司的數據中心以太網測試技術、虛擬化測試技術必將為提升服務質量、用戶體驗質量提供更為可靠的保障與服務。