分享

KVM与VirtualBox的大文件复制性能对比 | 若有所思&&若有所想

 rookie 2012-04-15

早几天VirtualBox官方论坛突然讨论virtio-blk,作为半虚拟化技术的代表,virtio具有极高的性能和更低的资源占用率。 因此不少人都希望VirtualBox引入virtio-blk提高虚拟磁盘的性能,然而不少资深一点的玩家确实不太赞同。所以版主 Technologov提议做一次测试对比两者之间的性能差别。

我测试的大文件读取和复制的性能,测试的办法很简单,就是把Fedora 13的i686和x86_64两个镜像文件从/home复制到/usr目录里面,然后对比总耗时。每个镜像文件大约是650MB,总共1.3GB。

实体机配置:
处理器:AMD Athlon 64 X2 4200+ @2.2GHz
内存:4GB DDR2-800
主板:JETWAY HA01-GT3 MCP55SLI
硬盘:Seagate 7200.12 1TB
操作系统:Fedora 12 (2.6.32.12-115.fc12.x86_64)
文件系统:2GB SWAP分区,其余皆为EXT4分区

虚拟机配置
虚拟处理器个数:2
虚拟内存:1024MB
虚拟磁盘大小:20GB
VirtualBox:3.2.0
qemu-kvm:0.12.3
分区结构:1GB SWAP,剩余空间为单一根分区,使用EXT4
虚拟机操作系统:Fedora 13 (2.6.33.3-85.fc13.x86_64)

测试结果:

首先奉上的是qemu-kvm-0.12.3使用raw格式文件的结果,使用了virtio-blk、SCSI和IDE接口:

紧接就是qemu-kvm-0.12.3使用qcow2格式文件的结果,同样使用以上三种接口,性能比raw格式差距不大:

随后是VirtualBox-3.2.0使用vdi格式文件的结果,并且启用了实体机I/O缓存,接口是SATA、SCSI、SAS和IDE,表现十分优异:

qemu-kvm-0.12.3加上vdi格式文件也测试了一次,接口是virtio-blk、SCSI和IDE接口,成绩不甚理想:

最后就是实体机测试和VirtualBox-3.2.0关闭实体机I/O缓存的SATA接口对比测试:

总结:

看上去qemu-kvm的性能完全失望,比VirtualBox要慢很多,但是这仅仅是大文件复制,并不能代表整体性能。况且这一次测试的重点是要 验证virtio-blk能否带来性能提升和能够提升多少。对比起IDE,Virtio大约有25%的提升,提升幅度已经很大了。即使是最快的 virtio,和VirtiualBox的差距依然很大,即使和最慢的IDE接口相比也有近10%的差距。十分奇怪的是qemu-kvm的SCSI接口性 能十分差,和IDE接口相比竟然慢了一部还多。我向lazyfai请教究竟出了什么问题,他说设置是没有问题的,看来是qemu-kvm自己的原因了。 VirtualBox的各个接口差距十分少,只是IDE的差距大了一点,性能最好的是SATA。没有想到的是关闭了实体机I/O缓存的SATA接口,性能 竟然比开启缓存的还要好,只是和实体机的磁盘性能相比,依然落后了接近50%。

Technologov也进行了一次小文件测试, 测试办法是编译Linux内核,结果表明VirtualBox在小文件测试还是要远远落后于qemu-kvm。看来qemu-kvm的优势在于小文件。出 人意表的是virtio竟然大幅度落后于IDE。这可能是测试者忘记清空缓存导致的,导致IDE接口I/O读写量大幅度减少,从而耗时减少。这也证明了I /O缓存对于小文件读写的重要性,倒是在大文件读写中威力有限。结果正如资深玩家们所料,virtio性能出色的地方在于其小文件的读写能力,而且能够进 一步降低资源占用。VirtualBox的测试结果也解释了为什么从共享文件夹中读取复制文件的速度会是这么慢,因为文件较多的情况下会导致性能大幅下 跌。

其实测试也无法能够证明virtio-blk能够在VirtualBox中带来多少提升,最多也只是能够证明它在qemu-kvm里面很出色。它的 同胞兄弟virtio-net已经在VirtualBox崭露头角。virtio-blk能否加入VirtualBox的大家庭,现在则取决于开发者们的 取舍了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多