VMware在虚拟化性能测试方面超过了Microsoft

Hyper-V的亮点是一组驱动程序,帮助它支持Linux虚拟机

最近发布的微软的Hyper-V的晃动了虚拟机管理程序市场,我们决定进行两部分评价点蚀虚拟化供应商在性能以及可用性、管理和迁移等特性上相互竞争。


虚拟化游戏开始:微软vs. VMware

本系列的第2部分主要介绍虚拟化管理

我们如何测试虚拟化产品

网络世界测试档案有个足球雷竞技app


微软和VMware接受我们的邀请,但开源虚拟化供应商 - Citrix(Xen)和Red Hat(基于Linux的虚拟机管理程序) - 无法参与,因为他们正在进行产品修订。这让我们留下了微软的Hyper-V和VMware的市场领先的ESX之间的头到头部。

这里的调查结果侧重于虚拟机管理程序性能。本月晚些时候提出的第二部分将考虑到可用性,管理和迁移功能。

现在的问题,其中管理程序更快取决于许多因素。例如,它依赖于虚拟机(VM)的来宾操作系统如何分配给可用的主机CPU和内存。这也取决于能限制性能众多产品特定的限制。

也就是说,VMware ESX是这个虚拟化绩效竞赛中的整体获胜者 - 我们仅限于运行六个并发VM,因为我们的组合服务器的处理器内核和存储器容量,以及我们测试管理程序的限制。ESX在大多数我们的基本负载测试,多CP​​U的VM主机的拉下最高荣誉和磁盘I / O性能测试。

然而,微软的Hyper-V在一些情况下做得很好,即当我们使用微软发布的一组特殊的驱动程序来提高Hyper-V官方支持的唯一Linux平台:Novell的SuSE Enterprise Linux的性能时。

VM虚拟机管理程序旨在将服务器硬件资源代表到多个客户机操作系统。物理CPU(也称为核心)将客户操作系统表示为虚拟CPU(VCPU)。但不一定是一个核心的一个核心关系。确切的比率取决于潜在的管理程序。在我们的测试中,我们让管理程序决定如何将CPU资源呈现为VCPU。

该操作系统“看到”服务器资源管理程序规定的限制范围内。作为一个例子,四个CPU核心系统可表示为一个单一的CPU到操作系统,然后将不得不生活在这一点CPU。在其他情况下,四个CPU可以虚拟八个虚拟中央处理器,在安静的虚拟机可能不会经常使用峰值CPU资源的情况。其他约束可以在虚拟机被征收为好,如与磁盘大小,网络I / O的,甚至哪些客户得到使用单一的CD / DVD的服务器内。

Hyper-V和ESX施加的一个令人沮丧的性能限制是,任何单个VM可以使用的VCPU的数量是四个,无论该客户机操作系统实例的类型或版本还是实际可用的物理核心。此外,如果您选择将32位版本的SLES 10作为客户机操作系统运行,您会发现Microsoft仅允许这些客人有一个VCPU。

由上可用的vCPU的数量hypervisor厂商所施加的限制来自于两个方面。首先,保持跟踪客人VM具有非常大的CPU需求也涉及巨大的存储器管理和大量CPU间通信(包括处理器高速缓存,指令流水线和I / O控制状态),其是极其困难的。其次,VM guest虚拟机主机的需求已经被认为是服务器整合的行动 - 这需要整合服务器通常是单CPU的机器。

管理程序硬件资源分配中的这些限制为我们如何在测试台上利用16 cpu HP DL580G5服务器奠定了基础(参见我们是如何做到的)。

如前所述,Microsoft正式支持自己的操作系统和Novell的SLES 10(运行Service pack 1和2的版本)作为客户实例。这就是为什么我们只测试Windows 2008和SLES 10.2虚拟机的原因。其他操作系统(Red Hat Linux、Debian Linux和NetBSD)可能也能工作,但如果使用这些系统,寻求调试或技术支持的组织是独立的。

在我们进行测试时,微软介绍了其Hyper-V Linux接口连接器(Hyper-V Linuxic)套件,它是一组帮助优化SLES Guest实例的CPU,内存,磁盘和网络I / O的驱动程序。我们确实看到了套件的表现提升,但只有每位客人的一个VCPU的情况。SMP环境不支持Hyper-V Linuxic。

虚拟化的成本

没有人声称关于服务器虚拟化的嗡嗡声是未经证实的。它允许您将多个操作系统实例包装到同一硬件上,该硬件仅托管一个实例。它有助于在整个方面部署标准操作系统配置文件雷竞技电脑网站如果这是你的目标的话。

但没有什么是免费的。管理程序成为服务器的基本操作系统,他们虚拟化,其中税收性能。我们的第一个测试测量虚拟化通过比较当一个操作系统在裸机运行与同一操作系统的性能时的管理程序用作操作系统和系统之间的缓冲事务性能为代价。在性能上的差异达的Hypervisor的先天管理角色征收的理论税。

在我们的测试中,当我们从本机操作系统实例移动到虚拟化的测试时,按照分配的单个vcpu的虚拟化,当ESX运行Windows 2008时,从Hyper-V正在运行SLES时,速度为2.5%。每个虚拟机管理程序的基础性能'成本'变化,但VMware赢得了这个理论回合。它是理论的,因为很少有案例运行虚拟机平台,只有一个客人限制为单个CPU。

当提供给单个虚拟机来宾攀升的CPU数量,虚拟化的成本变化较为广泛。当我们允许四个vCPU单一的操作实例SMP访问,以最低的价格支付 - 不到4% - 在VMware ESX的是支持SLES实例被注册。相反,付出了最高的运行价格时的Hyper-V是支持SLES实例的超过15%的命中拍摄。

总体而言,Hyper-V也会失去这一轮,但在支持Windows VM时非常少。它在SLES上落下了更多,可能是因为Linuxic套件无法促进性能结果。

使用业务应用程序负载测试VM

第二轮性能测试将迭代VM应用程序性能与系统添加到系统中的迭代VM应用程序。在支持批准的客人时,我们跟踪了一个,三个和六个VM的性能。当每个VM分配其自己的VCPU时,我们测量的性能,并且允许每个VM何时允许挖掘四个VCPU。该负载测试理论上会放大性能差异。

添加了跟踪虚拟机性能下降的表

我们选择的测试工具是SPECjbb2005——这是一个被广泛使用的基准测试,它在类似分布式仓库的环境中模拟分布式事务。SPECjbb2005测试使用运行在单个主机或VM实例中的Java应用程序组件。第一个组件模拟生成由第二个组件处理的线程的客户端,第二个组件是一个业务逻辑引擎,该业务逻辑引擎在事务中向一组Java Collection对象(模拟数据库引擎)存储和获取对象,并通过一组迭代事务循环记录它们。SPECjbb2005生成它根据找到的cpu数量以及主机中的可用内存选择的测试参数。测量的输出以每秒基本操作数或每段时间的防喷量为单位,每次测试作业的防喷量越多越好。

我们对每个虚拟机管理程序进行了多次运行,其中一个虚拟机被分配了自己的vCPU,另一个虚拟机被允许进入4个vCPU。

在这两种情况下,我们进行了测试与一,三和六个虚拟机。我们跑了每个序列第一与Windows 2008 Server作为托管操作系统,然后用SUSE SLES 10.2作为托管操作系统。

第一轮使用每个VCPU的一个VM客户机操作系统的比率和每个操作系统实例的有限内存访问(2GB)。此资源分配是在服务器整合过程中发生的典型会发生的典型,其中旧的单CPU机器被整合到物理​​到虚拟重新托管情况。

在这场竞赛中,VMware以Windows 2008和SLES 10.2虚拟性能几乎与本地性能一样快的速度领先,并以三款客户操作系统保持了同样的速度。带有三个虚拟机的Hyper-V大约比Windows 2008来宾机的VMWare慢了1400磅,比SLES虚拟机的ESX慢了1800磅。

在6个VM客户机上,这两种hypervisor都开始努力提供与直接运行在服务器上的本地操作系统相当的性能。但是微软保持了性能下降的趋势,因为当vm堆积时,它似乎掌握了管理程序资源的更线性分布。

在现实中,合并实例不一定如我们置于实例运行并发的SPECjbb2005测试的步伐负担。许多操作系统和应用程序实例通常少得多不变的CPU利用率比对他们的SPECjbb2005的地方,和利用率往往在本质上更随意。我们已经强调了虚拟机并支持它们扩大了如何巨大的负荷下每个虚拟机管理程序反应的管理程序。

在对称多处理状态下添加虚拟机时的性能下降跟踪表

在第二轮迭代VM测试中,我们允许每个VM访问4个vcpu,这是测试中的两个虚拟机监控程序允许的最大值。每个VM仍然受到2GB内存的限制,因为这是整合和测试操作系统时的常见上限。这个测试场景更容易演示如何在虚拟数据库中使用VMs应用程序,渲染场,大容量事务系统和其他需要强大CPU可用性的应用程序。

与前面一样,我们从单个VM客户机开始建立基线,然后为总共三个实例添加两个VM,然后为总共六个VM添加三个VM。在第一个测试中,正如我们在虚拟化测试的成本中所指出的,当托管Windows 2008客户端时,VMware稍微领先,当托管SLES 10.2 vm时,有将近1100 bops的优势。因为微软的LinuxIC工具包不支持SMP环境,Hyper-V在SLES环境下的性能受到了抑制,没有了它在测试中提供的提升,在测试中我们可以为每个VM分配单个vCPU。

在测试中,使用四个VCPUS的三维VM,参加了12个VCPU。由于在我们的测试床上有16个物理CPU核心,可以通过经过测试的虚拟机管理程序虚拟化,因为有四个CPU坐着闲置。Hyper-V在此实例中提前推出VMware ESX,平均为6,500个BOP。我们的测试结果表明Hyper-V可以看到那些额外的硬件资源并挖掘它们,而ESX不能。

然而,这种优势正在丧失,当我们超额认购,因为我们在最后一轮的测试一样。超额认购是一种方法,分配更多的物理CPU比可用,允许虚拟机“共享”分配给它们的虚拟中央处理器与其他虚拟机的客人。这是一个过程,当虚拟机随机运行的应用程序在使用CPU能力,它可以让你的东西更多的虚拟机,而希望(取决于来宾活动)达到或高于什么客人做他们的虚拟化之前提供业绩是有用的。

六VM guest虚拟机分别使用四个vCPU oversubscribes在我们的测试台的16个物理CPU内核。两个管理程序开始一个极端的负载下要扣作为CPU功率是在该压力试验中的溢价。但是VMware似乎应对超额认购比Hyper-V的更好,因为它仍然可以拉低平均为16136个BOPS与Windows 2008客户(含Hyper-V的14,588 BOPS相比),17089个BOPS与SLES客人(带有Hyper-V的11122个BOPS比较)。微软也在轻微超额认购不利,因为Windows 2008服务器的本地实例(我们使用企业版)需要积极地运行在Hyper-V虚拟机管理程序的系统 - 利用了自己的空间和CPU。

在虚拟机光中看到的磁盘I/O

我们还跟踪了带有Intel的Iomer(预编译的Windows和Linux版本)的托管VM的磁盘吞吐量。Iometer通过在测试员定义的例程中读取和写入子系统的Worker线程来练习磁盘子系统。在测试运行结束时,通过IOS记录的每秒概述测量值。结果以每秒IO的方式表示。较高数量的iOS更好。

12 4.
第1页,共2页
SD-WAN采购商指南:要询问供应商(和您自己)的关键问题