IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    KVM可扩展性测试报告

    admin发表于 2011-02-16 09:21:57
    love 0

    KVM可扩展性测试报告

    by yaonli(http://www.yaronspace.cn/blog)

    测试设计

    对KVM虚拟机可扩展性测试,主要是指随着虚拟机的数量的增加,虚拟机的在CPU利用率、内存使用、磁盘IO和网络IO的性能是否表现良好,最后能够给出在物理机一定硬件条件下,可运行的虚拟机的数目的最佳指标。

    在具体的设计方案上,在物理机上分别启动1到16个虚拟机,然后从CPU利用率、磁盘IO和网络IO三个方面进行分析,这里需要说明下没有测试内存使用的情况的原因:针对KVM来说,分配给虚拟机的内存大小是事先指定,加入分配512M内存,则虚拟机的物理内存就是512M内存,分析意义不大;

    1,  CPU利用率测试上

    在测试虚拟机CPU利用率方面,主要是CPU密集型的软件进行测试,计算最终的执行时间;例如内核的编译或者bzip2对大文件进行压缩,都是CPU计算性。本次测试选用bzip2 对1.8G的镜像文件进行压缩,计算最终的执行时间。

    date+%s.%N && bzip2 –9 windows_2003_server.img && date +%s.%N

    2,  磁盘IO测试

    测试磁盘IO的话,我选择用的是Bonnie++ 软件,并发地从虚拟机1台到16台的进行测试,执行命令如下:

    ./bonnie++ -d ~/test –s 1000

    3,  网络IO测试

    鉴于如果使用网卡类型如rtl8139或者e1000,效率非常低,所以本次测试网卡类型都是基于virtio网卡类型,然后并发地从物理机到1到16台虚拟机进行并发通信,主要是利用nertperf软件进行测试.

    测试环境

    物理主机硬件配置

    1,  8核Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz

    2,  16G内存

    3,  1.4T硬盘

    4,  千兆以太网卡

    物理主机的软件配置

    1,64Bit CentOS 5.3  2.6.18-128.el5

    2,kvm-88

    虚拟机分配的硬件配置

    1,  单核CPU

    2,  512M内存

    3,  Virtio 网卡

    4,  qcow2 format 增量镜像

    虚拟机的软件配置

    1,8.04 ubuntu系统

    测试数据

    1, CPU执行时间

    上面这图例说明,随着虚拟机数目的增加,CPU执行时间在5-9虚拟机时呈现一种稳定的状态,但是当虚拟机达到10个时,CPU执行时间呈现较大的增长,然后在10-12个虚拟机时呈现稳定装填,当虚拟机数目到达13以上,CPU时间呈增长趋势。

    第一个这个图例说明,在虚拟机的数目达到8个时,执行bzip命令的时间基本上是相同的,也就是说在CPU调度方面达到了均衡,平均分配CPU时间;但是在虚拟机的数目达到9个时,每个虚拟机的CPU执行时间出现了波动,有的执行的时间长,有的执行时间短,CPU没有达到调度平衡。

    2,网络IO数据

    由实验数据可知,使用virtio技术,虚拟机的网络吞吐,随着虚拟机数量的增加,实际网络IO基本达到理想的网络IO的水平,即如果物理网卡是千兆网卡,虚拟机的网络IO吞吐为100M/n,n代表同一台物理机上虚拟机的数量.

    3,磁盘IO数据

    上面两个图分别代表对虚拟机进行磁盘的Block Read Write操作的结果,由图可知,磁盘的并发写操作的效率随着虚拟机数目的增加下降的快,而并发读操作下降的不是很明显,当虚拟机的数目达到10时,磁盘的并发读操作急剧下降,可以作为分隔点 (Bonnie++ 软件把字符和块测试放到一起,这里我只列出了block读写的数据,测试数据是否准确有待进一步验证)。

    结论

    通过对虚拟机的CPU执行时间、网络IO和磁盘IO的测试,在现有硬件条件支持下,KVM虚拟机的数量在维持在8-10个是较稳定的状态,各个虚拟机的衡量指标达到比较稳定的值。

    在这种物理主机硬件配置条件下

    1,  8核Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz

    2,  16G内存

    3,  1.4T硬盘

    4,  千兆以太网卡

    建议KVM虚拟机的配置:

    1,  单核CPU  (多核性能未测试)

    2,  1G内存   (物理内存完全可以满足需求,所有可以开的大一些)

    3,  百兆网卡 virtio

    单台物理机启动虚拟机的数目在8-10左右,建议为8个虚拟机

    您可能对下面文章也感兴趣:

    • sheepdog源码分析之关键模块介绍(一)
    • sheepdog源码分析之关键数据结构介绍
    • sheepdog源码学习笔记一
    • KVM分布式共享存储解决方案-sheepdog
    • KVM虚拟机在物理机间的迁移方法


沪ICP备19023445号-2号
友情链接