KVM即基于 内核的虚拟机(kernel-based Virtual Machine),它是一个开源软件,又是x86架构且硬件支持虚拟化技术的Linux全虚拟化解决方案,它能够在不改变Linux或Windows镜像 的情况下同时运行多个虚拟机,并为每一个虚拟机配置个性化硬件环境。Xen早期版本是基于软件模拟的半虚拟化技术,新版本则是基于硬件支持的完全虚拟化。 Xen有自己的进程调度器、存储管理等模块,可以在一套物理硬件上安全的执行多个虚拟机。任职于某SSL证书认证机构的系统工程师Major Hayden对KVM和Xen近几年里在性能上的改进进行了探讨和研究,并找到了2013年Phoronix Haswell 性能评测上的基准测试以及一些2011年的评测资料。时过境迁,在三年后的现在,Major Hayden根据材料中的基准报表中的属性重新测试了一遍KVM和Xen性能,现就对这次测试相关信息进行一个全面的梳理: 1、测试环境测试环境由两台一模一样的超微服务器组成,具体配置和环境信息如下:
2、测试结果本测试使用裸 机作为虚拟服务测试的基准设备,在不运行虚拟机的情况下,两台裸机的性能偏差不会大于0.51%。在几乎所有测试中,KVM 的性能相比宿主机而言下降了1.5%以内,只有两项测试例外,第一个是 7-zip 压缩,比宿主机慢了 2.79%,第二个是用 PostMark 进行了多次测试,结果表明KVM竟比宿主机大约快了4.11%。 Xen 的性能相对宿主机而言差异比较大,有3项测试性能下降在低于2.5%,其他的性能下降率都是 KVM 的2~4倍,PostMark 测试的性能比 KVM 慢了大约14.41%,具体测试结果请参考如下表:
另外,请读者注意,以上只是部分测试数据,更多结果信息请查看Goole Docs。 3、结论基于以上的测 试环境,KVM的性能损耗几乎都在2%以内,Xen则在十多项测试中有3项损耗在2.5%以内,其他几项损耗都在5~7%之间。虽然 KVM 在 PostMark 测试中性能表现优异,但这是众多测试中仅有的一项 I/O 测试,如果想证明 KVM 确实在 I/O 处理方面很强大,则需要更多测试。 关于KVM 和 Xen 在 I/O 方面的处理,以及它们之间为什么会有这么大的差别,Major Hayden计划进行新一轮的测试,以确定虚拟机在有压力的条件下是否真的能比宿主机表现得更出色。 |