热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Xen和KVM虚拟机性能稳定性测试对比

初始测试xen和kvm两款虚拟机软件的稳定性及性能。为了测试虚拟机运行时在宿主机上的瓶颈,需要同时在同一台宿主机上面根据业务需求启动尽量多的虚拟机,以便观察资源的分配调度情况,根据我们宿主机的情况,每台宿主机适合分配两台2CPU+4GMEM的虚拟机。所有

    初始测试xen和kvm两款虚拟机软件的稳定性及性能。

    为了测试虚拟机运行时在宿主机上的瓶颈,需要同时在同一台宿主机上面根据业务需求启动尽量多的虚拟机,以便观察资源的分配调度情况,根据我们宿主机的情况,每台宿主机适合分配两台2CPU+4G MEM的虚拟机。所有类型的虚拟机均未做优化,xen和kvm均采用全虚拟化。

    测试环境

        XEN环境

            宿主机参数

            机器型号:PowerEdge R710

            CPU型号:Intel(R) Xeon(R) CPU E5504  @ 2.00GHz  *  4

            MEM大小:4096 MB   *  4

            RAID模式:RAID5+hot  

            DISK大小:60G /  + LVM  816.75 GB  

            操作系统:Debian6 最小化安装+必要的虚拟化环境

            内核版本:XEN-4.0 2.6.32-5-xen-amd64  x86_64

            文件系统类型:ext3

           虚拟机环境

            虚拟机名称:xen6

            CPU型号:Intel(R) Xeon(R) CPU  E5504  @ 2.00GHz  *  2

            MEM大小:4113384KB  (4016MB)

            DISK大小:30GB /  + 2GB swap  + 10GB home  

            文件系统类型:ext4

            内核版本:2.6.32-5-amd64  x86_64

            信息如下图:

            虚拟机名称:xen7

            CPU型号:Intel(R) Xeon(R) CPU  E5504  @ 2.00GHz  *  2

            MEM大小:4113384KB  (4016MB)

            DISK大小:30GB /  + 2GB swap  + 10GB home  

            文件系统类型:ext4

            内核版本:2.6.32-5-amd64  x86_64

            信息如下图:

         KVM环境

             宿主机参数

             机器型号:PowerEdge R710

             CPU型号:Intel(R) Xeon(R) CPU  E5504  @ 2.00GHz  *  4

             MEM大小:4096 MB   *  4

             RAID模式:RAID5

             DISK大小:60G /  + LVM  952.875 GB

             操作系统:Debian6 最小化安装+(kvm内嵌内核不需要多余虚拟化环境)

             内核版本:2.6.32-5-amd64  x86_64

             文件系统类型:ext3

             虚拟机环境

             虚拟机名称:kvm1

             CPU型号:QEMU Virtual CPU version 0.12.5  *  2  ( Bochs )

             MEM大小:4111616KB  (4015MB)

             DISK大小:30GB /  + 2GB swap  + 20GB home  

             文件系统类型:ext4

             内核版本:2.6.32-5-amd64  x86_64

             信息如下图:

          

              虚拟机名称:kvm2

              CPU型号:QEMU Virtual CPU version 0.12.5  *  2  ( Bochs )

              MEM大小:4111616KB  (4015MB)

              DISK大小:30GB /  + 2GB swap  + 20GB home  

              文件系统类型:ext4

              内核版本:2.6.32-5-amd64  x86_64

              信息如下图:

    测试项目

          稳定性测试

                 磁盘IO测试  IOzone  

                 MEM测试  Memtester

                 Cpu测试  Cpuburn

           性能测试

                 综合测试   Unixbench

            注:所有的测试都是在宿主机上同时开启两台虚拟机并同时在虚拟机上进行测试,同时也可以测试虚拟机管理程序是否可以很好的均衡各个虚拟机的在宿主机上造成负载。虽然每台虚拟机都是双vcpu,但是在物理cpu之间的调度是动态的,是随机的分布在物理cpu的四个核上,为了避免出现cpu资源争用的情况,故所有的虚拟机vcpu和物理机的cpu核都进行的绑定,每台虚拟机绑定两个物理cpu核。所有的测试都是在vcpu绑定的情况下进行的。

      kvm虚拟机的vcpu绑定情况如下:  

      xen虚拟机的vcpu绑定情况如下:

    KVM性能测试

        CPU稳定性测试

            为了测试虚拟机cpu的稳定性,在虚拟机上使用./cpuburn-in 300进行测试,表示连续运行5个小时,由于虚拟机是双vcpu的所以需要启动两个进程。

             如下图kvm宿主机的cpu使用情况,可以看到四个核都在100%左右,而且有两个kvm进程,表示启动了两台kvm虚拟机。

             下图是在两台kvm虚拟机上的cpu使用情况,可以看到在两台虚拟机上cpu都在99%左右的使用率。

             测试运行300分钟后,结果如下:

             可以看到两台机器在300分钟内运行了很多次测试,即使cpu负载一直持续在100%,连续5个小时的测试都没有错误,cpu的稳定性可以得到保障。

        MEM稳定性测试

              每台虚拟机分配的为4G内存,因此我们选择3G内存用来测试,memtester 3G。

              kvm1 kvm2 在经过近5轮测试后,均没发现错误

        磁盘IO测试

            Reader Report

            Re-reader Report

            Writer Report

            Re-writer Report

        综合测试

            由于虚拟机都是双核的,所以在使用unixbench时需要指定两轮测试,第一轮是所有测试使用一个副本测试,第二轮测试采用两个副本并行测试,命令如下:./Run -q -c 1 -c 2

            Kvm1测试结果如下图:

            Kvm2测试结果如下图:

    XEN性能测试

        CPU稳定性测试

            为了测试虚拟机cpu的稳定性,在虚拟机上使用./cpuburn-in 300进行测试,表示连续运行5个小时,由于虚拟机是双vcpu的所以需要启动两个进程。

            如下图xen宿主机的cpu使用情况,使用xm top命令查看,由于top中显示的是以虚拟机为单位,并不是单个cpu的情况,可以看到两台xen虚拟机的cpu利用率都在199%左右。

            下图是在两台xen虚拟机上的cpu使用情况,可以看到在两台虚拟机上cpu都在99%左右的使用率。

            测试运行300分钟后,结果如下:

            可以看到两台机器在300分钟内运行了很多次测试,即使cpu负载一直持续在100%,连续5个小时的测试都没有错误,cpu的稳定性可以得到保障。

         MEM稳定性测试

             xen6 xen7 在经过近5论测试后,没有发现错误。

        磁盘IO测试

            Reader Report

            Re-reader Report

            Writer Report

            Re-writer Report

 

        综合测试

            由于虚拟机都是双核的,所以在使用unixbench时需要指定两轮测试,第一轮是所有测试使用一个副本测试,第二轮测试采用两个副本并行测试,命令如下:./Run -q -c 1 -c 2

            Xen6测试结果如下图:

            Xen7测试结果如下图:

       综合对比

           前面给出了xen和kvm测试的数据,主要是了解各自的性能以及稳定性,下来对这些数据做一下比较,看看两者之间有哪些差距。

          Cpu测试对比

              虽然kev和xen虚拟机都是双vcpu设置,每台虚拟机的cpu利用率都接近100%,也都运行5个小时,但是会发现在5个小时内每台机器测试过的次数是不一样。

              可以看出在300分钟内xen的cpu测试次数比kvm多一点,运算能力会强一些,但是差距不大,可以忽略。

         Mem测试对比

         IO测试对比

             Reader Report

             Re-reader Report

             Writer Report

             Re-writer Report

综合测试对比

     在经过综合测试后,不论是单个parallel还是两个parallel,xen的跑分测试都比kvm要好。

    各位觉得哪里测试手段有问题可以提示一下,本人非专业选手啊。


推荐阅读
author-avatar
lucifer
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有