虚拟化基准测试:简介

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环境应用。