性能基准测试:KVM大战Xen

Major Hayden 的头像

·

·

·

16,875 次阅读

在上周,我们对 KVM 和 Xen 近几年里在性能上的改进进行了一些有趣的探讨后,我打算自己做一些这方面的小研究。我能找到的最新的资料,是来自2013年 Phoronix Haswell 性能评测上的基准测试。当然,还有其它一些2011年的评测,不过由于 Xen 被收录进 Kernel 3.0,它们都已被热烈地讨论过。

2011年的测试提供了许多很好的基准报表,在三年后的现在,我尽最大努力把它们列出的属性重新测试一遍。但我删减了其中两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。

测试环境

测试环境由两台一模一样的超微服务器组成,分别都配备一颗Intel 至强 E3-1220(4核,3.10GHz),24G 金士顿 DDR3 内存,4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。

所有测试项目(即实体机和虚拟机)都在 Fedora 20 (开 SELinux)上进行,并且测试过程中几乎没有运行的不相关的服务。这里列一下相关服务的版本:

  • Kernel: 3.14.8
  • For KVM: qemu-kvm 1.6.2
  • For Xen: xen 4.3.2

根文件系统都是使用默认配置的 XFS。虚拟机使用 virt-manager 来创建(virt-mamager 也使用默认配置)。虚拟磁盘使用 raw 镜像,容量为 8GB,虚拟4颗 CPU。Xen 虚拟机使用 PVHVM 建立虚拟磁盘。

附加说明

也许有人会考虑到 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从在2009年红帽重新选择 KVM 作为虚拟化产品后,再没得到这个公司的重要改进。我将这个因素排除在了测试所考虑的范围之外,不过仍然可以在心里稍微注意一下。

并且,资源竞争产生的影响也有被严格控制并最小化。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少,性能就差,而另一台抢得多,性能就好(LCTT译注:它们的性能总和,就可 以大致当作是 KVM 或 Xen 的性能了)。

本测试运行在 Intel 的 CPU 上。如果使用的是 AMD 或 ARM,可能有些数据会不一样。

结果

本测试使用裸机作为虚拟服务测试的基准设备。在不跑虚拟机的情况下,两台裸机的性能偏差不会大于0.51%

在几乎所有测试中,KVM 的性能相比宿主机而言下降了1.5%以内,只有两项测试例外。第一个是 7-zip 压缩,比宿主机慢了 2.79%。第二个就奇怪了,我们搭了一个邮件服务器,用 PostMark 测试其性能,结果表明 KVM 竟比宿主机快了4.11%。然后我在两台服务器中重新跑了几遍 PostMark 测试,结果性能差异基本不变,浮动都在最初测试结果的1%以内。由于我对 virtio 的内部机制没有很深的理解,我只能在以后再对这个怪现象进行进一步了解。

Xen 的性能相对宿主机而言差异就比较大了。有3项测试性能下降在2.5%以内,剩下的性能下降率都是 KVM 的2~4倍。PostMark 测试的性能比 KVM 慢了14.41%,这结果令我大吃一惊。重新跑了下测试,性能差还是几乎不变,浮动都在最初结果的2%以内。KVM 表现最好的 CPU 测试:MAFFT 对齐测试,是 Xen 表现倒数第二差的。

现在奉上一个简短得总结表:

Best ValueBare MetalKVMXen

via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/

译者:bazz2 校对:ReiNoir

本文由 LCTT 原创翻译,Linux中国 荣誉推出

12 条回复

  1. 微博评论 的头像
    微博评论

    kvm万岁,烧死xen

    来自杭州
  2. 微博评论 的头像
    微博评论

    [羞嗒嗒]

    来自杭州
  3. 微博评论 的头像
    微博评论

    参考~

    来自石家庄
  4. 微博评论 的头像
    微博评论

    总觉得架构上xen秒杀kvm //@宋宝华Barry://@XuYuanzhen: 转发微博

    来自石家庄
  5. 微博评论 的头像
    微博评论

    @让子团飞一会儿 可以看看。

  6. 微博评论 的头像
    微博评论

    xen 没玩成,这货被收购貌似是高富帅了,nvidia 和思杰合作,运卡算k2 搞的gpu 虚拟化。kvm 倒是把玩了下,虚拟 linux 非常棒,虚拟winxp 开virtio 还是很可以的,顶kvm

    来自重庆
  7. 微博评论 的头像
    微博评论

    同时跑10个20个虚拟机,xen的霸气就出来了 。。。

    来自重庆
  8.  的头像
    匿名

    PV和PVHVM哪個更好不是絕對的,看測試的程序。一般來說IO密集的PVHVM好,計算密集的PV好

  9. 微博评论 的头像
    微博评论

    虚拟机太占cpu和硬盘了,尤其是多个虚拟机的时候,最早就是用kvm带虚拟机,太蛋疼,然后直接双系统了//@东波是只猫: xen 没玩成,这货被收购貌似是高富帅了,nvidia 和思杰合作,运卡算k2 搞的gpu 虚拟化。kvm 倒是把玩了下,虚拟 linux 非常棒,虚拟winxp 开virtio 还是很可以的,顶kvm

  10. 微博评论 的头像
    微博评论

    //@Linux中国://@东波是只猫: xen 没玩成,这货被收购貌似是高富帅了,nvidia 和思杰合作,运卡算k2 搞的gpu 虚拟化。kvm 倒是把玩了下,虚拟 linux 非常棒,虚拟winxp 开virtio 还是很可以的,顶kvm

  11. 微博评论 的头像
    微博评论

    测试了一晚,5台下kvm貌似更好,超过5台就跑不起了,死机了

    来自永州
  12. 微博评论 的头像
    微博评论

    嗯,还是觉得kvm好用//@Linux中国: //@东波是只猫: xen 没玩成,这货被收购貌似是高富帅了,nvidia 和思杰合作,运卡算k2 搞的gpu 虚拟化。kvm 倒是把玩了下,虚拟 linux 非常棒,虚拟winxp 开virtio 还是很可以的,顶kvm

    来自莆田

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注