用户名:  密码:  验证码: 验证码  注册  找回
RSS
无双网
 2019年07月21日 星期日  您现在位于: 首页 → 技术文栏 → 测试手记:如何提高VMware虚拟化的性能 -操作系统(VM...

测试手记:如何提高VMware虚拟化的性能

2011年06月03日  无双网  出处:
通过把应用整合在一个单一的系统上,Vmware虽然节约了成本,提高了灵活性并且加强了应用管理,但这些是有代价的。本文的目的就是想通过测试来看看,虚拟化在哪些地方会影响系统性能,以及如何尽可能地减少这些影响。

虚拟化的价值与代价

在对VMware Infrastructure 3 Suite的测试中,我们发现VMware ESX Server 会导致不少于10%的性能损耗,最高能达到20%。我们不是说VMware会让系统运行起来磕磕绊绊——硬件虚拟化确实是一种不错的方法,可以帮助你简化服务器整合的复杂度,节约成本和能耗,而且只要有正确的规划,也还是能避免一定程度的性能损耗。但不管怎样,性能损耗总是会存在的。

在波士顿合作伙伴的实验室里,我们的测试发现,运行ESX Server最主要的好处无疑就是能通过多个虚拟服务器运行多个应用程序,从而最大限度的利用现有的硬件资源。这一点对于硬件厂商来说,却是一种噩梦:Gartner预测这项技术可能导致x86服务器的年复合增长率到2010年会降低0.6个百分点。


虚拟化的价值与风险

而且,有意思的是,当我们最近问读者他们觉得哪项技术最没前途,虚拟化居然排到了第二,就在SOA的后面。20%的受访者表示还没有认识到厂商们宣传的虚拟化好处。


虚拟化好处的用户调查

当然,我们仍然认为虚拟化技术是一件好事。不管你是用Microsoft Virtual Server、VMware、Xen还是其它的软件,虚拟化技术确实有许多好处——从更好的利用物理设备到改善应用管理,以及在多台机器之间分配资源的能力等等。使用虚拟机,把老的应用从旧硬件迁移到可靠性和可用性更高的新系统上,可以大大减少物理服务器的数量。通过测试,我们发现了一些方法,可以增强虚拟化技术的价值,减少性能损耗。

在具体探讨性能影响问题之前,我们先来看看虚拟化在服务器整合、系统管理、软硬件兼容、虚拟机与应用迁移,以及资源分配等方面的一些价值、代价和注意事项。

1)“把所有鸡蛋都放在一个篮子里”所带来的风险

在一台物理服务器上运行多个虚拟机,跟每台物理服务器运行一个应用相比,硬件故障会影响更多的应用。但对多数情况,冒这种风险还是值得的。对于拥有过多服务器的小型数据中心而言,通过整合可以减少服务器数量,从而有利于控制机房空间成本和散热成本。但是,一旦数据中心断电或发生火灾,这种整合也会影响到更多的应用。因此,如果你要使用虚拟化技术,最好有一些冗余设施来尽量降低风险。

2)虚拟化增强了系统与应用管理的灵活性

在系统管理方面,虚拟化提供了一个具有移动性和灵活性的隔离层,能帮助IT工程师做好硬件维护、排除硬件障碍,做好应用支持,提高应用管理的性能。比如,象VMware这样的虚拟化环境可以提供它自己的虚拟硬件和BIOS,来支持操作系统和应用程序。这使得管理员把某个应用迁移到另一个系统上更加容易——应用很少受到硬件兼容性问题的干扰,因为所有的虚拟硬件都是相同的。具体来说,就是简化了日常维护。如果某台服务器要下线,只要把那台服务器上的所有虚拟机迁移到另一台运行虚拟机环境的服务器上去就可以了,应用不会被中断。

3)注意软硬件的兼容性问题

在应用软件的技术支持方面,只要软件厂商支持自己的软件运行在虚拟环境中,一般硬件相关的兼容性问题是可以避免的,但不是所有的都可以避免,因为一些应用和整合后的存储设备(如iSCSI和SAN子系统)之间存在一定的耦合关系。这就需要在虚拟环境中安装一些特定的驱动程序,并得到厂商的技术支持。

4)虚拟机可灵活迁移,但增加管理成本

虚拟机的移动性也使得IT管理人员在把一个应用从某台服务器迁移到另一台上时更加容易,这种能力有助于IT环境动态、灵活地适应业务需求。比如,某台服务器运行了4个虚拟机,但有一台虚拟机上的应用需求突然增加了,使得服务器无法继续支持这一应用。于是,管理人员就可以把这个应用迁移到一个性能更强大的系统上去,或者把其他虚拟机迁移到其它服务器上去以释放资源。

但是,这会增加虚拟机镜像的管理成本。为了获得真正可移植的环境,以便虚拟机在系统间迁移或者从灾难性硬件故障中恢复,企业必须购买一些特殊的工具,如altiris的部署解决方案。另外,他们还必须保证虚拟机镜像的实时更新,了解网络和存储的拓扑结构,以便当一个虚拟机迁移到另外一台服务器上时,还能有效地访问存储子系统。

5)尽量确保虚拟机之间不会争抢资源

总的来说,通过创建虚拟硬件,ESX Server使得IT工程师能够在同一套物理环境中安装多个操作系统。关键在于,要确保运行在这些虚拟机上的应用不会互相冲突而降低应用性能,只有这样,才能最大化的利用硬件资源。

虚拟机性能影响:磁盘、内存和CPU

我们的测试环境是两台Dell PowerEdge 2850服务器。这两台服务器的配置一样,都是两个Intel Xeon双核CPU、2GB内存和三块硬盘的RAID阵列。Xeon处理器含有Intel VT虚拟化技术,提供了CPU虚拟化的代码优化。然后,我们运行了三种应用——微软Exchange Server 2003、SQL Server 2005和IIS(Internet信息服务),并采用了一些免费和商业性的工具软件,包括微软Exchange Server 2003负载模拟器(LoadSim)、SQLIOSim以及Borland的SilkPerformer 2006 R2。



从根本上来说,跟直接在物理服务器上运行某一应用相比,在基于同一物理平台的虚拟机上跑同一应用,一定会产生性能上的损耗。在我们的测试中,这种损耗随应用的不同而变化,但一般少于10%,在6%-20%之间。

1)磁盘问题

跟一般企业的实际应用不同,我们的测试环境中没有专门的存储子系统,如为特定应用存放数据的SAN。对于Exchange这样的应用,SAN不仅仅是提供数据存储和数据管理,也可以防止资源冲突,如当操作系统和应用程序要同时访问虚拟内存和磁盘的时候。因此,如果有一个专门的存储子系统,就能减少这样的资源冲突。另外,在同时运行多个虚拟机时,还要看应用是否需要持续的访问磁盘。

在用LoadSim测试Exchange和用SQLIOSim测试SQL Server时,都有频繁的磁盘读写操作,但Exchange Server 2003和SQL Server 2005的性能仅降低了6%。这一结果说明,在虚拟机不会争抢访问磁盘的情况下,虚拟化对那些主要依赖驱动性能的应用影响并不大。

ESX Server不支持动态分配磁盘空间,除非添加存储设备。从实际应用的角度来看,这确实是个棘手的问题。在决定某一台服务器上能运行多少个虚拟机时,一个关键因素可能就是包含磁盘空间的虚拟机镜像的大小。在默认情况下,ESX Server为一台虚拟机分配的磁盘空间是4GB。在测试中,为了保证有足够的空间安装应用程序和后续软件升级,我们给虚拟机分配的最小空间是10GB。而我们的系统总
 (本文已被浏览 885 次)
 发布人:[标签:发布人]
 → 推荐给我的好友
上篇文章:扩大VMware ESX Ser...
下篇文章:苹果需求趋缓导致5月NAND闪存芯片价格下降
发表评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论 (点击发表)
热门文章
 用VB6.0设计简易赛车游戏
 保存webbrowser中的HTML内...
 游戏对照表
 MSFlexGrid使用技巧一例
 Win2003+Discuz!5.5+II...
 全部DLL下载
 添加红月装备的详细教程 (包括装备 武...
 在Delphi里播放Flash
 用vb6的ActiveX控件实现异步下...
 PC经典RPG《仙剑奇侠传Ⅰ》for PP...
最新文章
 [ODBC SQL Server Driv...
 评论:115网盘的何去何从
 我科学家实现百公里量级自由空间量子隐形...
 中国智能手机出货量占全球27%居世界之...
 Gartner:2012 第二季度西欧 P...
 [多图]华山论剑:当今在世的智商最高的...
 三星获出租车服务系统专利 可快速查看驾...
 [多图]15项可能延续到2030年的科...
 分析称苹果三星专利大战输赢已成定论
 Google终获云操作系统专利
 网站留言· 友情链接·与我在线·网站地图联系我们·管理·TOP 
 陕ICP备09004157号  
 Copyright © 2012 Asp126.com Inc. All Rights Reserved.Processed in 0.031s, 8 queries, 43 Cache,0 Online