虛擬化基準測試:簡介

07年1月

虛擬化基準測試:簡介

不要在家裡嘗試。 Parallels,Fusion和VirtualBox在Mac Pro主機上同時運行。

自蘋果在其計算機中使用英特爾處理器以來,虛擬化環境一直是Mac用戶的熱門商品。 即使在英特爾到來之前,模擬軟件也可以讓Mac用戶運行Windows和Linux

但是仿真很慢,使用抽象層將x86編程代碼翻譯成早期Mac的PowerPC架構所使用的代碼。 這個抽象層不僅需要轉換為CPU類型,還包括所有的硬件組件。 實質上,抽象層必須創建視頻卡 ,硬盤驅動器, 串行端口等的軟件等同物。結果是可以運行Windows或Linux的仿真環境,但是在性能和操作系統方面受到嚴格限制用過的。

隨著蘋果公司決定使用英特爾處理器的出現,整個仿真需求一掃而空。 取而代之的是能夠在英特爾Mac上直接運行其他操作系統。 事實上,如果您想在啟動時直接在Mac上運行Windows,您可以使用Boot Camp ,這是Apple提供的一種應用程序,可以方便地在多引導環境中安裝Windows。

但許多用戶需要同時運行Mac OS和第二個操作系統的方法。 Parallels以及後來的VMWare和Sun通過虛擬化技術為Mac帶來了這一功能。 虛擬化在概念上與仿真相似,但因為基於Intel的Mac使用與標準PC相同的硬件,所以不需要在軟件中創建硬件抽象層。 相反,Windows或Linux軟件可以直接在硬件上運行,產生的速度幾乎與客戶操作系統本身在PC上運行一樣快。

這是我們的基準測試試圖回答的問題。 Mac上的三大虛擬化廠商--Mac Parallels Desktop,VMWare Fusion和Sun VirtualBox是否能夠實現接近本機性能的承諾?

我們說'接近本地',因為所有虛擬化環境都有一些無法避免的開銷。 由於虛擬環境與本機操作系統(OS X)同時運行,因此必須共享硬件資源。 另外,OS X必須為虛擬化環境提供一些服務,例如窗口化和核心服務。 這些服務和資源共享的結合往往會限制虛擬化操作系統的運行。

為了回答這個問題,我們將進行基準測試,以了解三種主要虛擬化環境運行Windows的好壞。

07年2月

虛擬化基準測試:測試方法

GeekBench 2.1.4和CineBench R10是我們在測試中使用的基準應用程序。

我們將使用兩種不同的流行的跨平台基準測試套件。 首先,CineBench 10對計算機的CPU和其顯卡渲染圖像的能力進行了實際測試。 第一個測試使用CPU渲染真實感圖像,使用CPU密集型計算渲染反射,環境掩蔽,區域照明和陰影等等。 測試使用單個CPU或內核執行,然後重複使用所有可用的CPU和內核。 結果為使用單個處理器的計算機生成參考性能等級,為所有CPU和內核生成等級,並指示多個內核或CPU的使用情況。

第二次CineBench測試評估了當攝像機在場景中移動時,使用OpenGL渲染計算機圖形卡的性能,以渲染3D場景。 此測試確定了圖形卡在執行場景時仍可以執行的速度。

第二個測試套件是GeekBench 2.1.4,它測試處理器的整數和浮點性能,使用簡單的讀/寫性能測試測試內存,並執行測試持續內存帶寬的流測試。 將這組測試的結果合併為一個GeekBench評分。 我們還將展示四個基本測試集(整型性能,浮點性能,內存性能和流性能),以便我們了解每個虛擬環境的優缺點。

GeekBench使用基於PowerMac G5 @ 1.6 GHz的參考系統。 參考系統的GeekBench得分標準化為1000.任何高於1000的得分都表示一台性能比參考系統更好的計算機。

由於兩個基準測試套件的結果都比較抽象,我們將首先定義一個參考系統。 在這種情況下,參考系統將是用於運行三個虛擬環境( Parallels Desktop for MacVMWare Fusion和Sun Virtual Box)的主機Mac。 我們將在參考系統上運行兩個基準套件,並使用該數字來比較虛擬環境的性能。

所有測試將在主機系統和虛擬環境全新啟動後執行。 主機和虛擬環境都將禁用所有反惡意軟件和防病毒應用程序。 所有虛擬環境都將在標準的OS X窗口中運行,因為這是在所有三種環境中使用的最常用的方法。 在虛擬環境的情況下,除了基準測試以外,沒有用戶應用程序正在運行。 在主機系統上,除了虛擬環境之外,除了文本編輯器之外,沒有任何用戶應用程序會在測試之前和之後運行筆記,但在實際測試過程中不會運行。

03年7月

虛擬化基準測試:主機系統Mac Pro的基準測試結果

在比較虛擬環境的性能時,主機系統的基準測試結果可以作為參考。

將承載三種虛擬環境(Parallels Desktop for Mac,VMWare Fusion和Sun VirtualBox)的系統是2006年版Mac Pro:

Mac Pro(2006)

兩個雙核5160 Zeon處理器(總共4個核心)@ 3.00 GHz

每個核心L2緩存RAM 4 MB(總共16 MB)

6 GB RAM,由4個1 GB模塊和4個512 MB模塊組成。 所有模塊都是匹配的對。

1.33 GHz前端總線

NVIDIA GeForce 7300 GT圖形卡

兩個500 GB的三星F1系列硬盤。 OS X和虛擬化軟件駐留在啟動驅動器上; 客戶操作系統存儲在第二個驅動器上。 每個驅動器都有自己獨立的SATA 2通道。

主機Mac Pro上GeekBench和CineBench測試的結果應該提供我們應該從任何虛擬環境看到的實際性能上限。 話雖如此,我們想指出的是,虛擬環境在任何單一測試中都有可能超過主機的性能。 虛擬環境可能能夠訪問底層硬件並繞過OS X的一些OS層。 基準測試套件也有可能被內置於虛擬環境中的性能緩存系統所迷惑,並產生遠遠超出實際可能的性能的結果。

基準得分

GeekBench 2.1.4

GeekBench評分:6830

整數:6799

浮點數:10786

記憶:2349

流:2057年

CineBench R10

渲染,單CPU:3248

渲染,4個CPU:10470

有效加速從單個處理器到所有處理器:3.22

著色(OpenGL):3249

基準測試的詳細結果可在Virtualization Benchmark Test gallery中找到。

04年7月

虛擬化基準測試:Parallels Desktop for Mac 5的基準測試結果

Parallels Desktop for Mac 5.0能夠在不出現呃逆的情況下運行我們所有的基準測試。

我們使用了最新版本的Parallels(Parallels Desktop for Mac 5.0)。 我們安裝了Parallels, Windows XP SP3Windows 7的全新副本。 我們選擇這兩個Windows操作系統進行測試,因為我們認為Windows XP代表了目前在OS X上的大部分Windows安裝,並且將來Windows 7將成為Mac上運行的最常見的客戶操作系統。

在測試開始之前,我們檢查並安裝了虛擬環境和兩個Windows操作系統的所有可用更新。 一旦所有內容都保持最新,我們將Windows虛擬機配置為使用單個處理器和1 GB內存。 我們關閉了Parallels,並禁用了Time Machine和Mac Pro上不需要的任何啟動項目進行測試。 然後,我們重新啟動了Mac Pro,啟動了Parallels,啟動了其中一個Windows環境,並執行了兩組基準測試。 測試完成後,我們將結果復製到Mac以供日後參考。

然後,我們重新啟動並推出了Parallels,用於第二個Windows操作系統的基準測試。

最後,我們重複上面的順序,將客戶操作系統設置為使用2個CPU,然後使用4個CPU。

基準得分

GeekBench 2.1.4

Windows XP SP3(1,2,4 CPU):2185,3072,4377

Windows 7(1,2,4 CPU):2223,2980,4560

CineBench R10

Windows XP SP3

渲染(1,2,4 CPU):2724,5441,9644

著色(OpenGL)(1,2,4 CPU):1317,1317,1320

CineBench R10

Windows 7的

渲染(1,2,4 CPU):2835,5389,9508

著色(OpenGL)(1,2,4 CPU):1335,1333,1375

Parallels Desktop for Mac 5.0成功完成所有基準測試。 GeekBench在Windows XP和Windows 7之間的性能差異很小,這正是我們的預期。 GeekBench專注於測試處理器和內存性能,因此我們預計它將成為虛擬環境底層性能的一個很好的指標,以及它如何使主機Mac Pro的硬件可用於客戶操作系統。

CineBench的渲染測試同樣顯示了兩個Windows操作系統的一致性。 再一次,這是可以預料的,因為渲染測試充分利用了來賓操作系統所看到的處理器和內存帶寬。 陰影測試是每個虛擬環境實現其視頻驅動程序效果的良好指標。 與Mac硬件的其他部分不同,顯卡不能直接提供給虛擬環境。 這是因為顯卡必須連續處理主機環境的顯示器,並且不能轉移到僅顯示客人環境。 即使虛擬環境提供了全屏顯示選項,情況也是如此。

基準測試的詳細結果可在Virtualization Benchmark Test gallery中找到。

07年05月

虛擬化基準測試:VMWare Fusion 3.0的基準測試結果

我們將Fusion的基準測試中的Windows XP單處理器結果標記為無效,因為內存和流結果比主機的性能提高了25倍。

我們使用了最新版本的VMWare Fusion(Fusion 3.0)。 我們安裝了Fusion,Windows XP SP3和Windows 7的全新副本。我們選擇這兩個Windows操作系統進行測試,因為我們認為Windows XP代表了OS X上絕大多數當前的Windows安裝,並且將來Windows 7將會在Mac上運行的最常見的客戶操作系統。

在測試開始之前,我們檢查並安裝了虛擬環境和兩個Windows操作系統的任何可用更新。 一旦所有內容都保持最新,我們將Windows虛擬機配置為使用單個處理器和1 GB內存。 我們關閉了Fusion,並禁用了Time Machine以及Mac Pro上不需要的任何啟動項目進行測試。 然後,我們重新啟動了Mac Pro ,啟動了Fusion,啟動了其中一個Windows環境,並執行了兩組基準測試。 測試完成後,我們將結果復製到Mac以備後用。

然後,我們重新啟動並重新啟動Fusion,以進行第二個Windows操作系統的基準測試。

最後,我們重複上面的順序,將客戶操作系統設置為使用2個CPU,然後使用4個CPU。

基準得分

GeekBench 2.1.4

Windows XP SP3(1,2,4 CPU):*,3252,4406

Windows 7(1,2,4 CPU):2388,3174,4679

CineBench R10

Windows XP SP3

渲染(1,2,4 CPU):2825,5449和9941

著色(OpenGL)(1,2,4 CPU):821,821,827

CineBench R10

Windows 7的

渲染(1,2,4 CPU):2843,5408,9657

著色(OpenGL)(1,2,4 CPU):130,130,124

我們碰到了Fusion和基準測試的問題。 對於使用單處理器的Windows XP,GeekBench報告的內存流性能優於主機Mac Pro的25倍。 這種不尋常的內存結果將單CPU版Windows XP的GeekBench得分提高到了8148.在多次重複測試並得到類似結果後,我們決定將測試標記為無效,並將其視為基準測試Fusion和Windows XP。 盡我們所知,對於單CPU配置,Fusion並未向GeekBench應用程序報告正確的硬件配置。 但是,GeekBench和Windows XP在選擇兩個或多個CPU時完美無瑕。

我們在Fusion,Windows 7和CineBench上也遇到了問題。 當我們在Windows 7下運行CineBench時,它將通用視頻卡報告為唯一可用的圖形硬件。 雖然通用圖形卡能夠運行OpenGL,但它的速度非常低。 這可能是主機Mac Pro擁有舊版NVIDIA GeForce 7300顯卡的結果。 Fusion的系統要求提供了更現代化的圖形卡。 然而,我們發現它很有趣,在Windows XP下,CineBench著色測試沒有任何問題。

除了上面提到的兩個怪癖之外,Fusion的性能與我們在精心設計的虛擬環境中的預期完全一致。

基準測試的詳細結果可在Virtualization Benchmark Test gallery中找到。

06年7月

虛擬化基準測試:Sun VirtualBox的基準測試結果

運行Windows XP時,VirtualBox無法檢測到多個CPU。

我們使用了最新版本的Sun VirtualBox(VirtualBox 3.0)。 我們安裝了VirtualBox,Windows XP SP3和Windows 7的全新副本。我們選擇這兩個Windows操作系統進行測試,因為我們認為Windows XP代表了OS X上絕大多數當前的Windows安裝,並且將來Windows 7將會在Mac上運行的最常見的客戶操作系統。

在測試開始之前,我們檢查並安裝了虛擬環境和兩個Windows操作系統的任何可用更新。 一旦所有內容都保持最新,我們將Windows虛擬機配置為使用單個處理器和1 GB內存。 我們關閉了VirtualBox,並禁用了Time Machine以及Mac Pro上不需要用於測試的任何啟動項目。 然後,我們重新啟動了Mac Pro,啟動了VirtualBox,啟動了其中一個Windows環境,並執行了兩組基準測試。 測試完成後,我們將結果復製到Mac以備後用。

然後,我們重新啟動並重新啟動Fusion,以進行第二個Windows操作系統的基準測試。

最後,我們重複上面的順序,將客戶操作系統設置為使用2個CPU,然後使用4個CPU。

基準得分

GeekBench 2.1.4

Windows XP SP3(1,2,4 CPU):2345,*,*

Windows 7(1,2,4 CPU):2255,2936,3926

CineBench R10

Windows XP SP3

渲染(1,2,4 CPU):7001,*,*

著色(OpenGL)(1,2,4 CPU):1025,*,*

CineBench R10

Windows 7的

渲染(1,2,4 CPU):2570,6863,13344

著色(OpenGL)(1,2,4 CPU):711,710,1034

Sun VirtualBox和我們的台式測試應用程序在Windows XP中遇到了問題 。 特別是,無論我們如何配置客戶操作系統,GeekBench和CineBench都無法看到多個CPU。

當我們用GeekBench測試Windows 7時,我們注意到多處理器利用率很差,導致2和4 CPU配置得分最低。 單處理器性能似乎與其他虛擬環境相當。

運行Windows XP時,CineBench也看不到多個處理器。 此外,Windows XP的單CPU版本的渲染測試產生了最快的結果之一,甚至超過Mac Pro本身。 我們嘗試了幾次重新運行測試; 所有結果都在同一範圍內。 我們認為將Windows XP單CPU渲染結果填充為VirtualBox的問題以及如何使用CPU是安全的。

在使用Windows 7進行2次和4次CPU測試的渲染結果中,我們也看到了一個奇怪的顛簸。在每種情況下,從1到2個CPU和2到4個CPU進行渲染時,渲染速度會增加一倍以上。 這種性能提升的可能性不大,我們再一次將其視為VirtualBox實現多CPU支持。

有了VirtualBox基準測試的所有問題,唯一有效的測試結果可能是Windows 7下單個CPU的測試結果。

基準測試的詳細結果可在Virtualization Benchmark Test gallery中找到。

07年7月

虛擬化基準測試:結果

隨著所有基準測試的完成,現在是重新審視我們原來的問題的時候了。

Mac上的三大虛擬化廠商(Parallels Desktop for Mac,VMWare Fusion和Sun VirtualBox)是否實現了接近原生性能的承諾?

答案是混雜的包。 我們的GeekBench測試中的虛擬化候選人都沒有能夠衡量主機Mac Pro的性能。 Fusion最好的結果是Fusion,它能夠獲得接近68.5%的主機性能。 Parallels落後於66.7%。 將VirtualBox調高至57.4%。

當我們查看CineBench的結果時,CineBench使用更真實的測試來渲染圖像,它們非常接近主機的分數。 Fusion再次成為渲染測試的首選,實現了主機性能的94.9%。 Parallels之後為92.1%。 VirtualBox無法可靠地完成渲染測試,從而失去了爭用。 在渲染測試的一次迭代中,VirtualBox報告稱它比主機執行效率高127.4%,而在其他方面則無法開始或結束。

著色測試考察了使用OpenGL的圖形卡表現如何,在所有虛擬環境中表現最差。 性能最好的是Parallels,達到了主機性能的42.3%。 VirtualBox以31.5%位列第二。 Fusion以25.4%排名第三。

選擇一個總體贏家是我們將要離開最終用戶的東西。 每種產品都有其優缺點,在許多情況下,基準數字非常接近,重複測試可能會改變排名。

基準測試成績顯示的是,普遍而言,使用本地圖形卡的能力使得虛擬環境從完全替代專用PC的能力中恢復過來。 也就是說,比我們這裡更先進的顯卡可以在陰影測試中產生更高的性能數據,特別是Fusion,開發人員建議使用更高性能的顯卡來獲得最佳效果。

您會注意到一些測試組合(虛擬環境,Windows版本和基準測試)顯示了問題,要么是不現實的結果,要么是未能完成測試。 這些類型的結果不應該用作虛擬環境問題的指標。 基準測試是嘗試在虛擬環境中運行的不尋常的應用程序。 它們旨在衡量物理設備的性能,而虛擬環境可能無法訪問它們。 這不是虛擬環境的失敗,並且在實際使用中,我們沒有遇到在虛擬系統下運行的絕大多數Windows應用程序的問題。

我們所測試的所有虛擬環境(Parallels Desktop for Mac 5.0,VMWare Fusion 3.0和Sun VirtualBox 3.0)在日常使用中提供了良好的性能和穩定性,並且應該能夠成為大多數日常應用的主要Windows環境應用。