Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1214554
  • 博文数量: 122
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4004
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-20 08:27
文章分类
文章存档

2016年(1)

2015年(21)

2014年(100)

分类: 虚拟化

2014-03-11 12:44:45

原文地址:KVM IO性能测试数据 作者:liujunwei1234

    目前,主流的共有云提供商大部分采用的hypervisor还是XEN,所以,很多人会笼统的认为xen比kvm更好。个人认为,这是个误区。国外的amazon和国内的阿里云,华为云之所以选择xen作为hypervisor,个人认为只是他们从事hypervisor方面的研究更早,当时最好的hypervisor就是xen,这么多年了投入了大量的人力和物力,已经形成了一定的知识积累,所以才会一直用xen而已,也就是说决定因素并不是,从技术上讲,xen比kvm更好。相反,我反倒认为,kvm在技术上走在了xen的前面。

1. KVM IO 性能测试  
下面来介绍下,kvm在IO方面的一个new feature - virtio-blk-data-plane,首先来看下性能测试的结果
(1)测试环境配置参数

(2)测试结果



测试结果总结:
(1)在block size = 4K的情况下,采用了virtio-blk-data-plane的KVM的性能是最好的,达到了1577684 IOPS,是sphere 5.1的1.5倍,是hyper-v的4倍,是KVM默认采用的io驱动virt-blk的10倍
(2)在block size从512B到8K情况下, 采用了virtio-blk-data-plane的KVM的性能也是最好的.

2. virtio-blk-data-plane的基本原理
    virtio-blk-data-plane是在原来virt-blk的基础上,通过给每个io device创建一个专门的线程来负责设备的io操作,目的是允许不同设备的IO能够并发的进行。由于每个io设备的io都由单独的线程来处理,一方面,减少了多个io设备之间的同步问题,另一方面,减少了io操作与qemu主进程之间的同步。另外,io线程采用了io eventfd/irqfd机制,使得io处理与guest os的执行解耦,充分利用了host os 的AIO,因此,极大的提高了guest os的io性能。
    virtio-blk-data-plane的架构如下图所示。

   由于virtio-blk-data-plane在redhat 6.4中属于tecnology preview,所以,目前还有很多限制,主要在存储方面:
(1)仅支持raw格式的镜像
(2)KVM的一些比较新的features,目前还不能使用virtio-blk-data-plane,比如storage migration, disk hot unplug, io throtting, image streaming and driver mirroring.

微博: @Marshal-Liu

阅读(2803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~