这个问题很笼统,但是最具体地说,我想知道运行Ubuntu Enterprise Cloud的虚拟机是否比没有任何虚拟化功能的同一物理机慢。多少(1%,5%,10%)?
有没有人衡量Web服务器或数据库服务器(虚拟VS物理)的性能差异?
如果取决于配置,让我们想象一下运行64位ubuntu企业服务器的两个四核处理器,12 GB内存和一堆SSD磁盘。最重要的是,只有1个虚拟机允许使用所有可用资源。
这个问题很笼统,但是最具体地说,我想知道运行Ubuntu Enterprise Cloud的虚拟机是否比没有任何虚拟化功能的同一物理机慢。多少(1%,5%,10%)?
有没有人衡量Web服务器或数据库服务器(虚拟VS物理)的性能差异?
如果取决于配置,让我们想象一下运行64位ubuntu企业服务器的两个四核处理器,12 GB内存和一堆SSD磁盘。最重要的是,只有1个虚拟机允许使用所有可用资源。
Answers:
裸机\类型1虚拟机管理程序上的通用服务器工作负载的典型经验是CPU开销的约1-5%,内存开销的约5-10%,其中一些额外的开销取决于总体IO负载。这与我在现代化的Guest OS在VMware ESX \ ESXi,Microsoft Hyper-V和Xen下运行的经验中保持一致,其中适当地设计了底层硬件。对于在支持最新cpu硬件虚拟化扩展的硬件上运行的64位Server操作系统,我希望所有Type 1虚拟机管理程序都将获得该开销百分比的1%。在这一点上,KVM的成熟度还不完全取决于Xen(或VMware),但我认为没有理由认为,对于您所描述的示例,KVM的性能将明显比它们差。
对于特定的用例,尽管虚拟环境的整体\“综合”性能可能超过裸机\离散服务器。这是一个讨论示例,该示例讨论了VMware群集配置如何比裸机Oracle RAC更快,更好,更便宜。如果您具有足够相似的虚拟机,则VMware的内存管理技术(尤其是透明的页面共享)可以几乎完全消除内存开销。在所有这些情况下,重要的是,只有将多个VM整合到主机上,虚拟化才能提供的性能/效率优势才能实现,您的示例(主机上有1个VM)在某种程度上总是比裸机慢。 。
尽管这都是有用的,但有关服务器虚拟化的实际问题往往集中在管理,高可用性技术和可伸缩性上。2-5%的CPU性能余量并不重要,因为它可以有效地扩展到每台主机上20、40或任意数量的VM。您可以通过选择稍快的CPU作为基准或在群集中添加更多节点来应对性能下降的问题,但是如果主机无法扩展其可以运行的VM的数量,或者环境难以管理或从服务器虚拟化的角度来看,这种方法不可靠,那么就毫无价值。
“性能”有很多方面。n00bs衡量操作系统的启动时间,并说Windows 2012很棒,因为它在实高清上的启动时间为12秒,在SSD上可能为1秒。
但是这种措施不是很有用:性能等于操作系统启动时间,但是操作系统每月启动一次,因此进行优化没有太大意义。
因为这是我的日常工作,所以我可能要指出构成“绩效”的以下四个部分
CPU负载
这应该是可比的,这意味着在相同硬件上的空闲VM环境中,在裸机上花费1000毫秒的任务将在1000毫秒的处理时间中执行,并且可能需要1050毫秒的时钟时间执行(稍后会有详细介绍)。Google的MSDN用于处理时间和queryperformancecounter,而yu可以做的事情可以显示VM占用了您的CPU时间。
SQL性能
SQL性能高度依赖于存储SQL数据的数据存储区的IO。我已经看到,第一代ISCSI在各个级别的Buffalo家用NAS上,然后是带DCE的ISCSI和真正的老式FC环境之间的300%差异。如今,FC仍然是赢家,因为FC延迟是最低的可归档文件,可导致FC协议的“副本”用于TCP / IP数据中心的增强。在这里IOps和延迟至关重要,但从服务器进程到介质的IO带宽也很重要-取决于应用程序倾向于使用No-SQL还是数据仓库,还是像ERP系统一样处于中间状态... Sage KHK适用于小型企业,SAP对于巨大的。
文件系统访问
一些应用程序(例如视频流)依赖于保证的最小带宽,而另一些应用程序则依赖于最大IO吞吐量,例如仅在十六进制编辑器中打开大型文件,将视频项目加载到您喜欢的电影制作程序中。在vm上不是典型情况。...IOps对开发人员也可能很重要。开发人员经常使用虚拟机,因为开发环境非常敏感,因此在虚拟机中这样做的诱惑很大。编译大型项目通常意味着读取大量小文件,执行编译器工作,并构建EXE和相应组件。
客户端的网络延迟在
这里,诸如Word 2010,Openoffice Writer,LaTEX,GSView等WYSIWIG 程序的可用性高度依赖于速度-鼠标操作从客户端到服务器的速度有多快。特别是在CAD应用程序中,这很重要。...但不是LAN问题,这是重要的通过WAN进行远程访问。
但是-从我多年的咨询角度来看-有些用户拥有admin密码(他们通常是BIG公司的员工,他们拥有BIG预算和BIG钱夹)对此抱怨,但必须加以澄清从他们使用的应用程序的角度来看,哪些性能组件对他们很重要,哪些对他们很重要。
它很可能不是记事本,而是用于对此进行工程设计的高度复杂的应用程序,该应用程序也很昂贵,应在VMware,HyperV或Xenapp上移动,并且无法达到预期的性能。
但是他们没有想到它可能会在非纯CPU性能的刀片上运行于1.5 GHz Xeons上,它们是为平均水平而构建的,比如说“针对每个CPU周期$优化”或“每个Watt的CPU周期” 。
当我们谈到权衡和节约时,多数情况下会导致过度承诺。过度使用会导致资源短缺,无法很好地处理CPU,但是内存不足会导致分页,核心路由器中的IO不足会导致所有问题的响应时间增加,并且任何类型的存储上的事务性过载都可能会停止所有有用的应用程序响应太快。这里需要监视,但是许多软件供应商不能提供此类信息。...另一方面,具有3个物理服务器资源的主机最有可能处理8个具有相同布局的虚拟机,例如物理虚拟机...
闲置系统上的CPU折衷通常会导致系统的性能比物理系统慢50%,另一方面,没有人能够安装客户的IT人员想要迁移到虚拟机中的“真实世界”操作系统和“真实世界”应用程序框。而且,要花几天(也许要数周,但肯定要举行42次会议)才能清楚地表明VM技术可以通过交换纯CPU速度来提供灵活性。它只是内置于这些刀片系统上的CPU中,这些刀片系统托管着当今较大的VM环境。内存也无法比拟,也需要权衡。DDR3 1600 CL10将具有比DDR2 800 ECC LLR更高的内存带宽-众所周知,英特尔CPU从此方面获得的利益与AMD cpus不同。但是它们很少在生产环境中使用,在第三世界国家/地区托管的白盒中或在提供数据中心服务的数据管理员中,其价格仅为您自己家中数据中心价格的10%,可能会多得多。多亏了Citrx,如果最终用户与数据中心之间的等待时间少于150毫秒,则数据中心可以无处不在。
和家庭用户的观点。
最后但并非最不重要的一点是,有些人想扔掉Win7或XP并将其换成Linux,然后出现游戏问题,因为实际上只有很少的游戏可用于Linux和Windows。游戏高度依赖3D加速。VMWare 6.5工作站和连接的免费播放器可以处理DirectX 9,这意味着VM中的Doom3可以全屏显示在主机图形卡上。游戏主要是32位应用程序,因此它们不会消耗超过3 GB的内存,并且最多消耗不超过3个CPU(在《孤岛危机》中看到)。较新的VM播放器和WS可以处理更高的DirectX版本,甚至还可以处理OpenGL ...我在VMware 6.5上玩过UT和UT2004,主机配有ATI Radeon 2600移动版和T5440 CPU。它稳定在1280x800,即使在网络游戏上也可以播放。
是。但这不是问题。差异通常可以忽略不计(1%至5%)。
我要指出,在某些情况下,虚拟化可能会超过物理性能。由于网络层不限于千兆位速度(即使硬件仿真是特定的lan卡),因此同一服务器上的VM可以彼此之间的通信速度超过具有普通网络设备的多个physscal服务器的速度。
我一直在对运行相同测试的同一软件(基于.NET的Web应用程序以及大量Web流量和可观的SQL Server访问)进行一些测试比较。这是我所看到的:
我可以轻松地看到有人如何建立基准,以证明它们相差1%或相同或VM更快。当您的过程利用了本地硬件支持的优势时,请勿添加任何内容,而VM需要在本地硬件支持中使用软件对其进行仿真。
您正在尝试将某些物理硬件上安装的操作系统,软件和数据与自身在相同原始硬件上的虚拟机管理程序中安装的同一操作系统,软件和数据进行比较。这种比较只是无效的,因为几乎没有人这样做(至少起初是这样)。当然那可能会慢一些。幸运的是,它完全错过了为什么要虚拟化服务器的最普遍点。
这里一个更好的例子是查看数据中心中的两个(或更多!)旧服务器。寻找性能不错的服务器,但现在已经过时并且在刷新周期内即将出现。这些服务器在较旧的硬件上已经可以很好地运行,因此,由于摩尔定律,您所获得的任何新东西都将被过分规范。
所以你会怎么做?这很简单。无需购买两台新服务器,而只需购买一台,然后将两个旧服务器迁移到同一台物理新设备。在准备购买新服务器时,您应该进行计划,以便有足够的能力来处理两个旧服务器的负载以及虚拟机管理程序的任何负载(也许还有一些额外的负载,以便仍然可以提高性能并提高性能)。可以考虑增长)。
总结:虚拟机可在大多数情况下提供“足够好的”性能,并帮助您更好地利用服务器以避免“浪费的”计算能力。
现在让我们进一步延伸。由于这些是旧服务器,也许您正在寻找几个简单的$ 1500比萨饼盒服务器来替换它们。很有可能,即使是这些披萨盒中的一个,仍然仍然可以轻松处理这两种假设的较旧机器的负载……但是,假设您决定在一些实际硬件上花费7500美元或更多。现在,您拥有一台设备,可以轻松处理多达十二个现有服务器(取决于您处理存储和网络的方式),而初始成本仅为5。您还具有仅管理一台物理服务器,去耦的优点。您可以从硬件中购买软件(即,现在不再需要硬件更新即可获得新的Windows许可证或导致停机),可以节省大量电量,而且虚拟机监控程序可以为您提供比性能更好的性能信息。我曾经有过。获取其中两个,具体取决于您的规模,整个数据中心可能只有两台机器,或者您想使用第二台服务器作为热备用服务器,以讲述一个更好的高可用性案例。
我的意思是,这不仅仅是性能。 我绝不会因为拥有完美的优质生产服务器而将其单独虚拟化为等效的硬件。它更多地涉及节省成本和您可以从合并中获得的其他好处,例如高可用性。实现这些优势意味着您要将服务器移至不同的硬件,这又意味着您需要花一些时间适当调整硬件大小,包括考虑虚拟机管理程序损失。是的,您可能总共需要的计算能力要比这些机器中的每台都在自己的物理设备上略高(提示:您实际上可能需要的总计算能力要少得多),但这会便宜很多,更节能,而且更容易维护 运行一台物理服务器比运行多台物理服务器要好。
我刚刚升级到SSD(OCZ Vertex 2),并且在其上运行XP VM开发环境,我是一名软件开发人员。我注意到的一件事是,当我启动一个程序时(一个足够大的程序需要花费一些时间来加载),虚拟CPU的一个核心就会挂出。加载IE时也会发生这种情况。由于CPU固定了,所以我认为瓶颈是CPU而不是SSD。但似乎很奇怪,我有一种感觉,如果在物理机上完成相同的操作,它将加载得更快,我的感觉是,VMWare正在做一些额外的处理开销,这会占用磁盘访问的CPU。
例如,我使用Delphi,在一台带有常规HDD的物理机上,从冷启动开始可能需要20秒钟。在运行SSD的VM中,从冷启动开始加载它需要19秒。没什么大不了,我敢打赌,如果SSD在物理机上,它将加载得更快。但是,我没有检查物理机上的CPU使用率,它可能也是CPU的瓶颈。
但是VM的感觉是磁盘访问使VM负担重。
在这方面,微软似乎已经使用BizTalk服务器和SQL Server在不同的配置中进行了一些基准测试。请参阅下面的链接:
http://msdn.microsoft.com/zh-CN/library/cc768537(v=BTS.10).aspx
抱歉,不同意TomTom。
我使用VMware Workstation已有一段时间,主要是在Windows XP,Windows Vista和现在的Windows 7本机系统上运行,以运行不同的Windows版本以及Ubuntu。
是的,虚拟化环境比本机系统慢,并且可能在5到100%的范围内。
主要问题不是CPU负载过多,而是物理内存不足。
假设您有一个运行于4 Gb系统上的Windows Seven 64 Ultimate,该系统在空闲时几乎需要1.5 Gb并占用约10%的CPU。启动额外的VMware层将花费您约300 Kb,CPU负载将上升约20%。然后在VMware中启动虚拟系统将要求您至少为该虚拟机定义的内存量最少,对于任何体面的系统至少要有1 Gb。然后,如果虚拟机是Ubuntu,则您将看到〜60%的CPU负载,而对于最新版本的Windows OS,则将看到〜80%的CPU负载。
现在,您将在该虚拟机中启动不同的应用程序。
如果您为该虚拟机设置的内存量不足,则虚拟化系统将开始交换,从而大大降低其整体性能和响应速度。
如果您为该虚拟机设置的内存量加上本机系统所需的内存量之和高于本机系统的内存量,则将交换本机系统,从而减慢速度本机和虚拟系统。
因此,它首先取决于本机和虚拟机所需的内存平衡。
现在,CPU负载几乎相同。如果虚拟化应用程序需要巨大的CPU负载,而本机应用程序也需要巨大的CPU负载,则您的本机系统将必须管理优先级并平衡其不同应用程序之间的CPU费用,虚拟化系统只不过是一个应用程序而已这种现象是经典的CPU负载问题,您可以通过应用优先级来解决。
因此,如果您需要使用虚拟化,那么我的第一个建议就是在计算机上放置一堆内存,无论您是在本地还是在虚拟机上使用什么操作系统。
只是我的2美分。
最好的祝福。
根据我的经验,虚拟机始终比物理机慢很多。
您只会在运行会打磁盘并给CPU大量负担的应用程序时注意到它。我已经在虚拟机上运行了许多数据库和Web服务器,并且作为最终用户以及其他最终用户的反馈(即:从远程Web浏览器访问应用程序)在使用虚拟机时存在很大的滞后。
当然,正确配置的虚拟机可能达到80%(我不知道实际数字)或物理机的速度如何,但是最终您必须真正深入了解应用程序的工作以及虚拟机的运行方式作品。因此,我想这是一个成本方程,说明您花费大量时间配置虚拟机而不是仅仅购买和托管一台新服务器。
对我而言,虚拟机与性能无关,而是与易于管理和托管多个性能较低的VM有关。