网络管理员、程序运维人员、或者使用基于Linux虚拟化用户经常遇到不同的项目或者程序。所以就需要查看虚拟化管理程序的定量比较结果,根据应用来选择最适合的虚拟机。已在本项测试实验中,我们比较了两个虚拟机管理程序:XEN与KVM。自从2003年公开发行版后,XEN一直是性能比较的主题,主要是因为它接近于实体机的性能和它所使用的半虚拟化技术。KVM是一个在2007年初首次发布亮相的虚拟化产品。它支持CPU虚拟化,并充分利用现有的linux系统提供了一个集成的内核基础设施的虚拟化管理程序(而不是类似于XEN的独立虚拟机管理程序),KVM自Linux 2.6.20之后集成在Linux的各个主要发行版本中。由于虚拟化产品的增多,随之产生了为比较两个虚拟机之间性能的测试软件。在本文中,我们使用了一款叫做benchvm的开源测试软件,帮助我们做一些压力测试与测试用例。这款软件能帮助我们验证一些测试结果。
本文测试环境都建立在Ubuntu Linux 8.04 AMD64位机器上。Linux内核本版号:2.6.24,XEN虚拟机版本3.2.1.kvm62是直接从Ubuntu安装包里面安装的。硬件机器配置如下:Dell OptiPlex 745 ,英特尔酷睿双核CPU 6600,4G内存,250GB硬盘,双千兆网卡。我们的测试主要关注以下三方面:整体性能、性能隔离度、可扩展性。最后讨论的测试过程并给出了每一个方面的定量测试结果。
1、整体性能测试
为了测试整体性能,我们运行了CPU密集测试、磁盘读测试、磁盘写测试。通过一个实体的Linux作为基准,来比较XEN与KVM性能。
对于CPU密集测试,XEN的性能接近于Linux,而KVM性能要稍逊于XEN。在内核编译方面XEN只有Linux一半的性能,而KVM仍然稍逊于XEN,但是磁盘读写方面却要好于XEN,我们认为这可能是KVM的磁盘缓存的原因。Phoronix测试套件很适合内核编译、磁盘读写性能测试。
2、性能隔离度
性能隔离度是衡量虚拟机受到其他极度消耗资源虚拟机的影响。我们使用了隔离度基准测试套件,并在四台机器上部署了SPECweb2009[5],并在其中两台VM上部署了压力测试程序来增加机器的压力,使它们保持一定压力。测量这四台VM上的SPECweb2009的响应速率。使用没有压力的机器的测量数据作为基准数据。
在表2中我们给出了性能隔离度的测试结果。部署了压力测试的VM与正常VM表现出差异性。在表中数值则表示系统的响应速率。DNR表示的意思是“没有返回”(did not return)。一般造成DNR是服务器没有相应或者网络不通。在我们测试环境中可以排除网络不通的因素,所以认为是服务器没有回应的原因。
在下表中XEN表现出了比较好的CPU、磁盘、内存性能隔离度。尤其是磁盘方面表现出了优异的性能。但是在接收网络数据方面XEN隔离度表现一般,性能容易受到其他虚拟机的影响。在数据发送方面隔离度好些。
KVM在所有测试项中都表现出了优异的隔离性。尤其是在数据发送方面更是优秀,但是在数据接收与磁盘测试方面表现稍差。
3、可增容性
一个虚拟化系统的可增容性好坏,是根据虚拟机的数量多少来决定的。并且这些虚拟机没有任何性能损失。在这项测试中我们首先在一台VM中编译apache的源代码,然后逐渐增加同样任务的VM。在图1中,较少的编译时间并且较多的VM意味着可增容性好。
对于XEN,我们增加虚拟机数量的时候,编译apache的时间VM的数量相比较是呈线性增长的。这表示可增容性能优秀。XEN能够平均分配资源。当我们把虚拟机数量提高到27个的时候仍然有返回响应。这表示XEN的可增容性相当好。
对于KVM,当我们增加虚拟机数量到9的时候。有一台VM系统宕机。当我们增加到13的时候,有4台系统宕机.当我们增加到18的时候,有7台系统宕机。当增加到21台的时候整个系统宕机,所以从21之后就没有返回数据了。这说明KVM没有很好的增容性。
4、结束语
我们提供了一个关于XEN与KVM整体性能定量的比较结果。两者最大的区别在于可增容性。KVM下面的VM数量增加到9的时候,有许多问题暴露。但是KVM的隔离性测试要好于XEN。总体性能比较的结果稍微复杂。可以在在实际应用中根据具体的应用的侧重点选择相对应的虚拟机管理系统。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:虚拟机KVM 与XEN 的性能分析