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

KVM虚拟技术可扩展性研究

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

对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个虚拟机


推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本文详细介绍了VMware的多种认证选项,帮助你根据职业需求和个人技能选择最合适的认证路径,涵盖从基础到高级的不同层次认证。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 在Ubuntu 8.04中安装美观的Cairo-Dock桌面增强工具
    本文介绍如何在Ubuntu 8.04系统中安装和配置Cairo-Dock,这款桌面增强工具以其精美的界面和高效的功能备受用户青睐。文章将指导您通过简单的步骤完成安装,并提供一些实用的配置建议。 ... [详细]
author-avatar
神的禁卫军
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有