Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3358820
  • 博文数量: 258
  • 博客积分: 9440
  • 博客等级: 少将
  • 技术积分: 6998
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-03 10:28
个人简介

-- linux爱好者,业余时间热衷于分析linux内核源码 -- 目前主要研究云计算和虚拟化相关的技术,主要包括libvirt/qemu,openstack,opennebula架构和源码分析。 -- 第五届云计算大会演讲嘉宾 微博:@Marshal-Liu

文章分类

全部博文(258)

文章存档

2016年(1)

2015年(4)

2014年(16)

2013年(22)

2012年(41)

2011年(59)

2010年(40)

2009年(75)

分类: 虚拟化

2013-09-20 18:10:09

    目前,主流的共有云提供商大部分采用的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

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

ghoulich2014-04-24 16:49:47

这个测试估计不是你自己做的吧?而且测试项目有些避重就轻!

humjb_19832014-03-11 12:44:17

学习学习!

humjb_19832014-03-11 12:44:17

学习学习!

lieamo2013-11-20 16:48:33

开头是和xen比较的,为啥实验当中没有xen的性能