KVM虚拟机综合性能测试与分析

known 发布于 2025-08-25 阅读(214)

摘" 要:虚拟机是由虚拟化层提供的独立虚拟计算机系统,其综合性能对虚拟机的使用至关重要。文章设计高性能模式和性能均衡模式下两种实验方案,对基于oVirt的KVM虚拟机的综合性能进行测试,并对比分析两种不同模式下虚拟机CPU、内存带宽、磁盘IO和网络带宽的性能表现。实验结果表明,在高性能模式下虚拟机内存和磁盘IO性能表现相对较优,可为实际应用中规划合适的虚拟机模式提供依据。

关键词:虚拟化;虚拟机;性能测试;KVM

中图分类号:TP315" " " 文献标识码:A" " " 文章编号:2096-4706(2024)21-0046-05

Comprehensive Performance Test and Analysis of KVM Virtual Machine

MENG Xiaojun, WU Miao, JIN Xiaoxin

(The 30th Institute of CETC, Chengdu" 610041, China)

Abstract: Virtual Machine is an independent virtual computer system provided by the virtualization layer, and its comprehensive performance is very important for the use of Virtual Machine. This paper designs two experimental schemes in high performance mode and performance balance mode, tests the comprehensive performance of KVM Virtual Machine based on oVirt, and compares and analyzes the performance representation of CPU, memory bandwidth, disk IO and network bandwidth of Virtual Machine in two different modes. The experimental results show that the performance of Virtual Machine memory and disk IO is relatively better in high performance mode, which can provide a basis for planning appropriate Virtual Machine mode in practical application.

Keywords: virtualization; Virtual Machine; performance test; KVM

0" 引" 言

虚拟化是资源的逻辑表示,其实现形式是在系统中加入一个虚拟化层,将下层的资源抽象成另一种形式的资源,提供给上层使用。本质是一种资源管理技术,可以让资源得到更合理的利用,降低运营成本。企业可以根据虚拟化数据中心的规模要求,通过虚拟化及相关技术将已有设备及新增设备进行有效资源整合,使得上层操作系统可以直接运行在虚拟环境上,且多个虚拟机操作系统和资源相互隔离,从而提供更高的资源利用率和灵活性[1]。

随着计算机和云计算的快速发展,在提高资源利用的同时,对高质量、高效率的虚拟计算机要求越来越高,应用系统性能的好坏将直接影响产品的质量和企业的发展前景,选择使用更优性能的基础平台也更加受到业界的重视,那么如何评估虚拟机的性能至关重要[2-4],评估虚拟机的性能也为虚拟机的研制和应用提供明确的方向。本文通过设计测试方案,从四个方面对虚拟机的性能进行测试:虚拟机CPU、虚拟机内存带宽、虚拟机磁盘IO和虚拟机网络带宽,对比分析基于Ovirt的KVM虚拟机在高性能和性能均衡模式下的性能差异。

1" Ovirt-KVM介绍

Ovirt是RHEV的开源版,分为管理端(Engine)和节点运算端(Node)。Engine通过HTTP协议向外提供HTTP API,用户可以通过SPICE、VNC或者SSH对虚拟机进行操作;Node负责功能的实现,不涉及虚拟机状态和策略的实现。

KVM虚拟化[5-6]需要借助VT-x[7]硬件辅助技术,KVM内嵌于内核模式中,模拟处理器和内存以支持虚拟机运行,KVM虚拟化架构如图1所示。

客户模式是客户机(VM)在操作系统中运行的模式,客户机分为内核模式和用户模式。用户模式为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,QEMU工作在用户模式。内核模式模拟CPU、内存,实现客户模式切换,处理从客户模式的退出,KVM运行在内核模式。也就是KVM驱动提供处理器、内存的虚拟机化以及客户机I/O的拦截,客户机的I/O被拦截后,交由QEMU处理。QEMU负责IO的虚拟化,利用接口libkvm调用(ioctl)虚拟机设备接口,内核中管理虚拟化硬件的设备驱动通过/dev/kvm实现,用来分配资源、管理和维护虚拟机。

2" 测试环境

虚拟化平台的宿主机节点Node通过数据中心—集群的方式进行管理,数据中心支持规划为高性能和性能均衡模式,虚拟机可以依据数据中心定义的性能模式运行。一个数据中心可以包含一个或多个集群,每个集群可以包含多个主机。数据中心和虚拟机的关系结构如图2所示。

测试环境使用管理端高可用模式搭建(hosted-engine),不同数据中心模式下虚拟机性能表现不同。高性能模式时,虚拟机运行过程中,内存和磁盘的读写数据不会加密。而性能均衡模式,虚拟机运行过程中,内存的关键数据通过签名方式存在,磁盘数据通过加密方式存储。

在不同性能模拟的数据中心创建虚拟机,安装相同版本和配置的操作系统,部署相同的业务应用系统。被测虚拟机部署基于tomcat容器的用户管理系统持续进行用户信息的新增、修改、查询和删除操作。给出性能测试方案如图3所示,被测对象部署相同的计算机基础环境,从CPU、内存、磁盘和网络四个方面进行测试,通过测试结果数据分析虚拟机的性能表现。

实验中使用的网络设备、引擎服务器、宿主机节点服务器、虚拟机、物理机等测试设备的配置说明如表1所示。

3" 性能评估及分析

随着计算机性能的优化和发展,对虚拟机性能分析的手段和视角多种多样[4,8]。目前基准测试程序[9]是一种业内用来衡量计算机性能指标的方式和手段。

本文对不同数据中心模式的虚拟机性能分析从CPU、内存带宽、磁盘IO和网络带宽四个方面进行实验,研究不同模式下虚拟机的性能差异,为实际应用时选择合适的模式提供实验依据。

配置高性能模式的虚拟机A1,使用Python测试脚本、STREAM 5.10、FIO 3.15和Iperf 3.0测试工具,分别从虚拟机的CPU、内存、磁盘IO和网络IO四个方面进行性能测试,对比高性能模式和性能均衡模式下,不同虚拟机的性能表现,给出实验结果。

3.1" CPU处理能力

影响虚拟机CPU运行效率的因素很多,通过指令执行速度法和基准程序法来评估CPU运行能力。指令执行速度通过每秒处理的百万级机器语言指令数来衡量,实验中通过编写脚本,找出固定数量级内的质数,通过处理时间衡量VCPU的处理速度。实验中虚拟机执行速度法通过Python测试脚本,使用单线程分别找出不同数量(1百万以内、1千万以内、1亿以内)的质数记录运行时间,通过耗时来衡量VCPU的运行处理能力,耗时越少其VCPU运行能力越佳。基准程序法使用sysbench测试工具,sysbench的CPU测试时在指定时间内进行多轮次的素数计算。表2为测试工具说明。

高性能(虚拟机A1)和性能均衡模式(虚拟机B1)虚拟机分别运行测试脚本的耗时,通过3次测试取平均值得到测试结果,如表3所示,测试界面如图4所示。

表4给出sysbench工具的CPU性能测试情况,3次测试取平均值得到测试结果。通过设定不同线程数在给定时间内每秒完成的事件次数(CPU speed)来分析虚拟机性能。实验中时间参数time设定为2分钟,线程参数threads设置线程数为1和8,最大质数生成数均设置为默认10 000。

从两种测试工具测试结果来看,两种模式下的配置相同的虚拟机CPU性能能力相当,没有明显的差异。这是因为性能均衡模式下的虚拟机加密实现磁盘读取数据加密,和CPU运行性能无关。

3.2" 内存带宽

STREAM 5.10是一款开源测试内存带宽性能的基准内存测试工具,测试结果包括四个关键操作指标:Copy、Scale、Add和Triad。STREAM算法是某个内存块之间的数据读取出来,经过简单的运算放入另一个内存块。即内存带宽是搬运的内存大小除以耗时的结果。

Copy是最简单的操作,先访问一个内存单元读取其中的值,再将值写入另一个内存单元,有1次写和1次读共计2次访问内存操作。

Scale操作,先从内存单元读出其中的值,作一个乘法运算,再将得到的结果写入另一个内存单元,有1次写和1次读共计2次访问内存操作。

Add操作,先从内存单元读出两个值,做加法运算,再将得到的结果写入另一个内存单元中,有2次读和1次写共计3次访问内存操作。

Triad是前面三种的结合,先从内存中读取一个值,与一个常数相乘得到一个乘积,然后从另一个内存单元中读取一个值与刚才的乘积结果相加,得到的结果再写入内存。所以,有2次读和1次写共计3次访问内存操作。

在高性能和性能均衡的不同数据模式下,测试虚拟机A1和虚拟机B1内存的Copy、Scale、Add和Triad四种指标,内存带宽速度如表5给出测试实验结果,3次测试取平均值得到测试结果值。

单位时间内,访存次数越多,得到的带宽越大;单位时间内,操作越复杂其操作时间就越长,程序运行时间就越长,得到的访存带宽就相应减少。因此对横向分析虚拟机A1的内存带宽,其内存带宽在Add操作简单且访存次数多,内存带宽最大,而Scale操作复杂且访存次数少,内存带宽小。纵向分析不同模式下的虚拟机A1和B1,高性能模式下的虚拟机A1访问内存在不同指标下带宽较大,内存性能较优。

3.3" 磁盘IO

磁盘IO性能测试工具选用FIO 3.1,FIO是一个功能强大的磁盘性能测试工具,支持对磁盘进行顺序读写、随机读写等多种模式测试。本次测试实验给出异步模式下,块大小设置为4 KB、文件大小为4 GB时磁盘的读写IOPS(磁盘每秒读写次数),高性能和性能均衡的数据中心对应的虚拟机A1和虚拟机B1测试结果如表6所示,测试界面如图5所示。

从表6的测试结果可以看出,高性能和性能均衡数据中心模式下,虚拟机在随机读(RandR)、随机写(RandW)、顺序读(Read)、顺序写(Write)、随机读写(RandRW-R和RandRW-W)的不同测试项中,高性能模式下的虚拟机A1的磁盘每秒读写次数在不同读写方式中,相比性能均衡模式的虚拟机B1,虚拟机A1每秒读写(I/O)操作的次数均多于虚拟机B1,即高性能模式虚拟机读写磁盘速度较优。

3.4" 网络带宽

Iperf是一个网络性能测试工具,测试TCP带宽质量。本次实验中使用Iperf 3.0.9版本,在千兆局域网络环境中,测试高性能和性能均衡模式下,同一节点的不同虚拟机之间(A1和A2)、不同节点的虚拟机之间(A1和B1)、虚拟机和宿主机(A1和NodeA)之间的带宽传输。Iperf测试工具使用客户端模式启动,指定TCP窗口大小为1 000 MB,测试时长1分钟。给出详细测试结果如表7。

从表7的测试结果得出,局域网环境中,不同数据中心模式的虚拟机在不同测试场景下,网络带宽损耗均较少,同一节点的不同虚拟机之间(A1-A2)、不同节点的虚拟机之间(A1-B1)、虚拟机和宿主机(A1-NodeA)之间的带宽基本都接近千兆。纵向对比不同数据中心模式的虚拟机网络带宽传输,基本相差不大,这是因为数据中心模式对虚拟机网络传输没有影响

4" 结" 论

本次测试实验从VCPU运行处理能力、内存带宽、存盘IO、网络传输带宽四个方面开展相应的测试实验,通过对基于Ovirt虚拟化平台下高性能和性能均衡模式的虚拟机在这四个方面的性能对比测试进行研究,综合分析得出不同数据中心模式的虚拟机在CPU、内存和磁盘读写能力方面的性能表现。高性能模式的虚拟机在内存和磁盘IO方面的性能较好;而性能均衡模式下的虚拟机,虚拟机运行使用加密方式,虚拟机运行过程安全,相比高性能模式下运行的虚拟机效率较低,兼顾了安全和性能的要求,可以说这种模式下虚拟机的安全是以牺牲虚拟机性能为代价。基于Ovirt的高性能和性能均衡模式下的虚拟机性能测试实验结果,为用户在实际应用中选择不同的虚拟机提供参考。

参考文献:

[1] MELL P,GRANCE T. The NIST Definition of Cloud Computing [J].ACM Queue: Architecting Tomorrow s Computing,2010,8(5):6-7.

[2] WEI M T,LIN Y S,LEE C R. Performance Optimization for InfiniBand Virtualization on QEMU/KVM [C]//2019 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).Sydney:IEEE,2019:19-26.

[3] CHE J H,SHI C C,YU Y,et al. A Synthetical Performance Evaluation of OpenVZ, Xen and KVM [C]//2010 IEEE Asia-Pacific Services Computing Conference.Hangzhou:IEEE,2010:587-594.

[4] GAO P X,LI H,QU X J,et al. Research on Virtual Machine Performance Test Based on Cloud Platform [C]//2021 IEEE 4th Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC).Chongqing:IEEE,2021:392-395.

[5] KIVITY A,KAMAY Y,LAOR D,et al. kvm: the Linux Virtual Machine Monitor [C]//Proceedings of the Linux Symposium.Ottawa:[s.n.].2007,1:225-230.

[6] CHIRAMMAL H D,MUKHEDKAR P,VETTATHU A. Mastering KVM Virtualization [M].[S.I.]:Packt Publishing,2016:9-13.

[7] 陈文智,姚远,杨建华,等.Pcanel/V2——基于Intel VT-x的VMM架构 [J].计算机学报,2009(7):1311-1319.

[8] POTDAR A M,NARAYAN D G,KENGOND S,et al. Performance Evaluation of Docker Container and Virtual Machine [J].Procedia Computer Science.2020,171:1419-1428.

[9] 陈文智,姚远,杨建华,等.Pcanel/V2——基于Intel VT-x的VMM架构 [J].计算机学报,2009(7):1311-1319.

作者简介:孟小俊(1985—),女,汉族,陕西西安人,工程师,硕士,研究方向:网络通信安全、虚拟化和网络安全融合软件系统及其测试。

标签:  虚拟机 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor