VMWare ESX   ERP壓力測試

前言

在目前的虛擬技術市場上,VMware是掌握了絕對的市場份額。但微軟公司即將正式發佈的Windows Server2008中也整合了Hyper-V虛擬技術,看來軟件的巨頭微軟公司已經將其觸手伸向了這個越來越熱的虛擬技術市場,毫無疑問,Hyper-V藉助低廉的價格以及Windows的迅速普及,將VMware的壟斷地位會有一定的打擊。

有意或無意,在Microsoft Windows Server2008發佈時間很接近的時候,VMware也發佈了新的VMWare Infrastructure 3.5,Infrastructure 3.5包涵了全套的服務器ESX虛擬平臺和管理套件。無論如何,巨頭之間的技術和市場的直接競爭,對用戶來說,尤其是對信息化預算投入不多的中小企業,還是好處更多一些。

測試目的:

在單一基於VMWare ESX的虛擬服務器上進行ERP壓力測試,不斷加大併發用戶數來體現系統性能極限,另外在保持高性能壓力的狀態下,通過長時間運行疲勞測試以考察虛擬系統的穩定性。

測試方法:

建立虛擬服務器作爲測試的服務端,採用PS-ERP最常用的物流功能6模塊作爲測試腳本,在客戶端利用Loadrunner虛擬用戶併發並記錄系統資源佔用、響應時間、通過事務數等參數。

測試用數據庫系統爲MS SQL Server 2005,數據大小爲5G。5G數據庫大約是一箇中等規模企業使用浪潮PS-ERP的數據大小。

測試環境: 

硬件組成

        

客戶機

        

星盈G129-Q,Intel Xeon 5335*2,4*146G SAS 15K轉/ RAID5/ 16G內存

服務器

        

VMWare虛擬服務器

網絡

        

1000M交換機

        

軟件組成

        

OS:

VMWare Infrastructure 3.5

Microsoft Windows Server 2003 Enterprise  Edition ON VMWare ESX

Microsoft SQL Server 2005 with SP2

        

浪潮通軟ERP-PS9.1

        

Loadrunner8.1

        

測試腳本

        

浪潮ERP物流6功能模塊

        

評測工程師評點:

上次我們在Windows Server 2008整合的Hyper-V虛擬服務器上進行了ERP壓力測試,這次我們利用VMWare ESX虛擬服務器,繼續在同一套硬件平臺上進行了同樣的測試項目,以此來對比兩種不同的虛擬技術不同的性能表現。

VMWare的虛擬服務器目前佔據了大部分的市場不是沒有原因的,其技術也有着自己的獨特之處。在測試中VMWare的虛擬服務器表現穩定,即使是運行大壓力的重要業務的應用程序也沒有出現宕機,這和很多人認爲的虛擬機只能跑非核心應用的觀念有很大的出入,虛擬服務器同樣勝任物理服務器所能做的大部分任務。

一、測試簡介:

建立虛擬服務器作爲測試的服務端,採用浪潮ERP最常用的6種功能模塊對象作爲測試腳本,在客戶端利用Loadrunner虛擬用戶併發並記錄系統資源佔用、響應時間、通過事務數等參數。

性能測試方面,對虛擬服務器進行ERP壓力測試,通過不斷加大併發用戶數來測試系統性能極限;穩定性方面,在保持高性能壓力的狀態下,進行12-20小時左右的長時間疲勞測試來考察虛擬虛擬系統的穩定性。

硬件方面的物理服務器是配置較高的星盈G129-Q企業級服務器,星盈G129-Q是高集成度的IU機架式服務器,使用兩路Intel Xeon 5345 CPU,16G內存,存儲系統爲4塊15,000轉的SAS 146G硬盤組成的硬件RAID5。該服務器先前在Windows Server2008中的Hyper-V進行過同樣測試項目。我們給ESX的虛擬服務器劃分同樣的系統資源(4CPU以及8G的物理內存),以此來對比基於同樣硬件平臺使用不同虛擬技術的虛擬服務器的差異(Hyper-V測試結果見《全球首發!Windows Server 2008虛擬機ERP壓力測試 》)。

#p#

二、性能測試:

性能測試的項目中我們爲VMWare ESX 選取了和Hyper-V同樣的測試併發數,分別是50、100、200、240併發的響應時間來進行對比。

 

圖 1

圖1、2兩套虛擬系統性能比較(點擊放大)

上圖左邊是本次的VMWare的測試結果,右邊是Windows Server 2008的Hyper-V測試結果。爲了方便各位對兩種虛擬技術有更直觀的比較,我們將它們都放到一起。簡單的對比,除了庫存入庫單記帳模塊在VMWare平臺上響應時間比較領先之外,其他的5個功能模塊都不同程度的落後於Hyper-V的虛擬平臺。

不同的功能模塊在不同的虛擬服務器系統中應該有着不同的表現,但VMWare和Hyper-V其實都是屬於同一種虛擬架構的虛擬技術,都是裸金屬架構,即都是虛擬服務器上的系統直接驅動底層硬件,而我們測試的都是在同一套硬件之上,安裝的操作系統以及所使用的系統資源都是一樣的,理論上這兩種虛擬機上的性能表現應該是一樣的,原來我們曾經在同一個物理服務器上進行過同樣壓力的性能測試項目,前後的測試成績相差都不會超過10%。對於虛擬服務器,我們原來猜想也是如此,但現實往往在想象之外。

雖然現在對具體的原因還很難分析清楚,不過根據虛擬技術的原理,可以做出一個基本判斷:不論是Hyper-V還是VMWare,虛擬層的主要作用就是給客戶操作系統(微軟稱爲訪客操作系統)提供模擬的單獨硬件環境,另外更重要的作用就是調度核心資源例如CPU、內存以及IO。實際上在之前的Hyper-V,還有這次VMWare測試中我們都發現,分配給虛擬機的虛擬CPU和物理CPU沒有映射關係(當然VMware提供這個選項),測試中不論我們分配給虛擬機1個還是4個CPU,虛擬機的性能上限都變化不大。這就意味着在CPU資源調度這個關鍵功能而言,虛擬層都將所有的物理CPU當成一個資源池,根據虛擬機實時的資源申請進行分配。在我們這個場景的測試中,因爲只有一個虛擬機,因此基本上物理CPU資源池僅僅保留虛擬層進程必要的CPU時間片,其他資源都可以按需要分配給虛擬機。

很明顯,虛擬層進程的時間佔用和對資源申請的調度效率就很大程度決定了虛擬機的表現。雖然VMware描述的技術是虛擬機直接在物理CPU上運行,但是對CPU資源的調度就像操作系統對處理器的調度一樣,仍然是虛擬層的核心任務,而Hyper-V與VMWare在調度效率上顯然有所側重,這也沒什麼奇怪的地方。

實際上,VMware已經證明能夠很好的支持異構操作系統,例如同時支持微軟和Linux,而目前Hyper-V對Linux的支持還需要完善。目前我們還沒有辦法測試在完全異構環境下的資源調度效率,從這個意義上說,Hyper-V在Windows平臺的優勝還不是兩種方案的全部。

這其實是由於Hyper-V和VMWare ESX Server兩種虛擬技術所使用的底層編譯語言是不一樣的,在硬件層和虛擬服務器客戶機系統之間的虛擬平臺,它實現的是客戶機操作系統對硬件的驅動,但各自使用的方式及編譯語言是不一樣的。這好比BENZ和BMW,雖然都是汽車,都表現出相似的運動方式。但說到核心技術,諸如發動機、底盤、驅動方式、制動方式都有着自己的標準,所以差別並不少。

#p#

在深入研究過測試的數據後我們大致的發現VMWare響應時間比較慢的原因。對於VMWare ESX Server上的虛擬系統資源,有3種會比較影響性能的參數,1是對虛擬系統的資源保留值,即每個系統保留的CPU個數、內存大小,磁盤大小等等。2、是各個系統在物理硬件資源池中所佔的資源權重,比如說多個系統都對物理資源申請調用時,哪得系統會得到優先使用權的設置。3、是虛擬系統資源的限制值(Limit),這個數值是指虛擬系統不能佔用超過物理資源的百份比例。這三個設置其實是互相影響的,在物理服務機上安裝的虛擬系統不多的情況下,如果沒有對虛擬系統設置限制值,那麼保留值的設置並沒有太大的意義,因爲只要物理資源有空閒的時候,虛擬系統提出申請,那麼這些系統資源,尤其是CPU的計算能力,都是被虛擬系統所調用。

 

圖3 IOmeter測試結果

在壓力測試之餘,我還特意的對兩種虛擬平臺上磁盤文件系統的性能做了IOmeter的性能測試。從上圖可以看出,Hyper-V下的虛擬磁盤性能曲線平穩一些,而VMWare ESX 的磁盤對壓力的表現更直觀。就性能而言,在隊列深度的不斷增加,虛擬磁盤的讀寫速度差別不是很大,兩種磁盤的性能都很接近,但在壓力增加的時候,VMWare ESX 的下降趨勢比較明顯,這多少解釋了爲什麼VMWare ESX 的ERP高併發時響應時間變得更慢的原因。

  

   

  讀寫速度(MBps

  隊列深度

  物理服務器磁盤

  29.172204

  64

  VMWare ESX Server

  9.73768

  16

  Hyper-V

  9.502278

  32

表1 IOmeter磁盤峯值速度

從上表可以看出,虛擬文件系統與物理文件系統的差別巨大,性能僅僅是物理系統的30%!這就是爲什麼重要的解決方案例如高可用和容災一定要在單獨的陣列上運行。原因之一就在於虛擬文件系統實際上需要虛擬層的翻譯。例如Hyper-v其實是在Windows 2008文件系統上創建一個擴展名爲VHD文件來模擬虛擬機文件系統,所有對虛擬文件系統的操作實際上是對這個Windows2008文件的操作來實現。VMware給虛擬機一個單獨的分區,但是根據測試來看,其虛擬機仍然不是直接操作物理磁盤系統。這樣虛擬文件系統相當於所有的操作都要通過虛擬層的翻譯,效率自然高不到哪裏去。

在我們進行的虛擬機Windows 2008和Windows 2003文件傳送效率對比測試中,虛擬文件就造成更驚人的差別:Windows2008的文件傳輸效率居然是Windows2003的9倍!主要的原因也出在這個虛擬機文件系統上。

因此對實際生產的系統而言,不論採用Hyper-v還是VMware方案,我們都強烈建議將虛擬機安裝在單獨的SAN存儲上,而不要和虛擬層共同安裝在服務器直連存儲上!

三、穩定性測試

對於VMWare ESX虛擬系統的穩定性,我們同樣的進行了100併發中等壓力下的12小時長時間的壓力測試來驗證VMWare ESX系統的穩定性能。同樣的,測試項目順利的完成,沒有出現宕機死鎖的現象。在測試中VMWare的虛擬服務器表現穩定,這和很多人認爲的虛擬機只能跑象備份、郵件等非核心低壓力應用的觀念有很大的出入,虛擬服務器同樣勝任物理服務器所能做的大部分任務。

 

圖4 長時間的測試結果

因爲測試項目運行的時間很長,同樣的ERP業務動作會被重複的執行很多次,而由於數據的冗餘,執行的事務的時間會越來越長,最小和最大的響應時間之間會出現很大的偏差,所以在穩定性測試中,平均響應時間有更多的參考價值。值得一提的是,在穩定性測試中,VMWare每個模塊的平均響應時間又都領先於之前的Hyper-V的同樣測試的結果(見圖)。難道VMWare對數據冗餘有更好的優化技術?這個問題我們會繼續諮詢相關的技術人員,隨後給大家一個合理的答案。

四、資源使用率

在進行壓力的測試的同時,我們會不斷的記錄虛擬系統的資源佔用情況,這也是從去年在物理服務器上測試時遺留下來的習慣。系統資源的佔用情況會直觀的表現系統的壓力程度,不過在虛擬平臺上,這就和我們的使用習慣相去甚遠了。

 

圖5 VMWare不同併發壓力下的資源使用率

正如上文提到的虛擬資源的3個很重要的參數。沒有添加限制值的時候,CPU資源的會自動進行動態的調配。持續長時間佔用的100%CPU計算時間在物理服務器上是很少見到的,而在虛擬機上,不同的壓力下,CPU也一直維持爲接近100%的水平,這個現象在之前的Hyper-V上的虛擬服務器上已經出現過了,所以在這樣高系統佔用的情況下,只要虛擬服務器的計算申請沒有達到或者超過物理服務器的資源水平,仍然沒有宕機也不算奇怪。

這樣的設置其實是體現了虛擬技術的最大特點,就是以不同應用來劃分系統資源,將閒置的系統資源分配給合適的應用,同時保證每一個應用都最大程度的利用系統資源的,使物理服務器的硬件價值得到最大化的體現。

#p#

四、結論

 

 

圖6 VMWare Infrastructure架構

  VMWare ESX是VMWare Infrastructure的主要組成部分,ESX運行在物理服務器上的一個虛擬層,它將要調配的處理器、內存、存儲器和網絡資源抽象到多臺虛擬機中。這大大的改變了以往一臺物理服務器負責一個或多個主要應用的舊有習慣,提高了系統資源的利用率的同時,也很大的節約了服務器的擺放空間和能耗。現在的數據中心機房服務器託管都是按U計算費用,同時國家也出臺了關於高能計算的單位能源損耗標準,無疑,虛擬技術的出現和普及有其必然性。

  從本次在虛擬平臺上的測試,如果單以物理性能來的衡量,測試的成績雖然沒有給我們帶來太多的驚喜,但我們至少在虛擬平臺上進行了高壓力的應用項目測試。單個虛擬服務器的測試成績不算很出色,不過我們並只劃分了部分的硬件資源,如果全部利用起來就可以構造多個的虛擬服務器以應付不同的應用,在象VMWare的企業級的虛擬服務器平臺上,依靠單臺的物理服務器,架構出一箇中小型企業的全部應用平臺也不是不可能的。在虛擬技術這個大舞臺上,微軟還是VMWare,我們看看誰能笑到最後吧?

  之前有網友評點過微軟Server2008的測試,說目前虛擬系統的最大用途是用於測試。誠然,虛擬系統中有很多諸如快照這樣的可回溯的功能,對一些破壞性的測試有很大的幫助。但經過我們的自己的測試,這樣來定義虛擬服務器,確實是有點大材小用。由於時間的關係,VMWare ESX的一些其他的應用象是高可用方案(HA),VMotion管理等功能的測試會陸續進行,測試結果也會分批次的與網友見面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章