VPS侦探论坛

 找回密码
 注册
查看: 9166|回复: 0

[测试] Linux KVM与Xen的性能比较

[复制链接]
发表于 2010-4-16 16:39:00 | 显示全部楼层 |阅读模式



介绍
Linux 2.6.20内核的预发行版已经引起很多人的关注. 其中热点包括增加异步SCSI扫描, 多线程USB检测和许多驱动更新,其中最引人关注的是一个全虚拟化的解决方案(非半虚拟化, 不过kvm已经支持半虚拟化, 见相关文章’KVM的半虚拟化: KVM-paravirt‘). 基于内核的虚拟机(或简称为KVM)是一个由Qumrannet开发和赞助的开源项目. 本文主要介绍KVM在linux上与其它虚拟技术QEMU Accelerator和Xen的性能比较.

Linux 2.6.20内核部分包含了用于管理虚拟化硬件的设备驱动程序. 其它主件包括kvm用户空间程序, 一个修改过的QEMU版本. linux kvm的硬件虚拟需要Intel虚拟技术(VT, Virtualization Technology)或AMD安全虚拟机(SVM/AMD-V)的支持. 也就是说, kvm使用的x86处理器至少需要包含其中一项虚拟化技术(Intel-VT或AMD-V). 支持运行KVM的CPU包括Intel Core系列, Xeon 5000系列, Xeon LV系列. AMD的Socket F和AM2处理器.

KVM增加了一个新的客户模式, 每一个虚拟机都是一个由linux调度程序管理的标准进程. 这样我们可以使用通常的进程管理工具来管理每一个虚拟机. linux 2.6.20-rc1和最新的内核已经包含了KVM内核主件, 而且我们还也可以在更老的内核(2.6.16到2.6.19)上运行kvm. KVM支持Intel主机, AMD主机, Linux客户机(x86和x86_64), Windows客户机(x86), SMP主机和非动态迁移的客户机. 正在开发的功能包括: MMU虚拟优化, 动态迁移, SMP客户机和Windows x64.

无论你是通过内核内置或者内核模块方式使用kvm, 建立客户操作系统的过程都十分简单. 首先创建好映像文件(qemu-img支持kvm), 然后运行kvm内核主件(内核内置或者内核模块方式).

系统安装

kvm需要运行在至少含有AMD或Intel虚拟技术的x86/x86_64处理器上, 至少1GB系统内存(为客户机准备足够的内存). 我们使用了两个Dual-core双核心Intel Xeon LV处理器, linux 2.6.20-rc3内核(于2007年1月1日发行). 下面是我们的系统状况:

硬件部分:
处理器: 2 x Intel Xeon LV Dual-Core 2.00GHz
主板: Tyan Tiger i7520SD S5365
内存: 2 x 512MB Mushkin ECC Reg DDR2-533
显卡: NVIDIA GeForce FX5200 128MB PCI
硬盘: Western Digital 160GB SATA2
光驱: Lite-On 16x DVD-ROM
冷却部件: 2 x Dynatron Socket 479 HSFs
机箱: SilverStone Lascala LC20
电源: SilverStone Strider 560W
软件部分:
操作系统: Fedora Core 6

我们选用的基准测试包括Gzip压缩, LAME Complication(编译), LAME encoding(编码)和RAMspeed. 我们使用的虚拟环境QEMU .8.2(含kqemu accelerator模块), Xen 3.0.3和KVM. 我们也比较了这些虚拟化环境和没有任何虚拟化技术的Fedora Core 6 Zod. 在Xen 3.0.3测试当中, 我们使用了全虚拟化而不是半虚拟化技术. 测试中使用的映像文件大小为10GB. 整个测试过程使用的操作系统是Fedora Core 6 Zod.

性能






结论
我们看到各个虚拟化性能比较的结果, KVM不是所有测试的获胜者. KVM在Gzip压缩测试中是领先的,但是在其它四个测试中都落后于Xen 3.0.3. 然而, 所有测试中Xen的全虚拟化和KVM都领先于QEMU+kqemu. KVM的优点是高性能, 稳定, 无需修改客户机系统和大量的其它功能(比如. 可使用linux调度器). 在Linux 2.6.20内核正式推出来后, 我们将会做更多的KVM基准测试, 其中会包括比较AMD和Intel的硬件虚拟化性能.

参考
Linux KVM Virtualization Performance

相关文章
1. KVM的半虚拟化: KVM-paravirt
2. KVM虚拟化常见问题
3. Linux上的虚拟化技术
4. 用户友好的Linux虚拟技术: KVM
5. KVM: 基于内核的虚拟驱动
6. Linux内核2.6.20增加虚拟化解决方案KVM

备注
转载请保持文章完整性, 欢迎到blog.zhaoke.com网站与赵珂交流.转载自:http://zhaoke.com/blog/51.html
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-8 08:27 , Processed in 0.035045 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表