针对kvm虚拟化服务器的性能评估方法

文档序号:9865300阅读:570来源:国知局
针对kvm虚拟化服务器的性能评估方法
【技术领域】
[0001 ] 本发明设及KVM虚拟化技术,具体是一种针对于KVM化ernel-based Virtual Machine)中虚拟化服务器性能评估的方法,解决Linux环境中虚拟机性能评估问题,提高虚 拟机性能评估效率。
【背景技术】
[0002] 上世纪60年代,IBM为其大型机量身打造了分时操作系统,实现多个用户对大型机 的共享,并提出了管理程序化ypervisor)的概念,首次提出虚拟化技术,20世纪80年代与90 年代早期,随着硬件技术的发展,具有专用功能的独立服务器逐渐取代集中式计算,虚拟化 技术发展减缓。目前,传统数据中屯、服务器资源利用率过低,能源消耗较大,虚拟化技术成 为解决运些问题的关键,再次成为研究热点。
[0003] 虚拟化技术可W将一个物理服务器划分为多个独立和隔离的空间,使得多台服务 器可W运行在一个物理服务器之上,提高了资源利用率,节约了成本。在虚拟化系统中虚拟 机监控器(VMM,Virtual Machine Monitor)是系统资源的管理者,对硬件资源进行抽象化, W系统调用的方式呈现给运行之上的客户操作系统,是虚拟化平台的核屯、。
[0004] 由于虚拟化服务器中存在逻辑资源与物理资源的转换,W及共享资源的分配等问 题,增加了系统的复杂性与动态性,并且在虚拟化系统中,虚拟机监控器也需要占用系统资 源,因此对虚拟化服务器性能进行评估,判断其是否能够满足用户需求成为研究重点。
[0005] 目前主要有两种类型的虚拟化服务器性能评估方法,分别为分析的方法与模拟的 方法。分析的方法主要是借助数学模型,如排队论,神经网络等,对虚拟化系统进行建模,并 结合服务器负载特征对服务器性能进行评估。模拟的方法主要是通过基准测试工具来模拟 虚拟化服务器的真实使用环境,通过基准测试输出的结果来评估虚拟化服务器性能。端到 端基准测试工具安装复杂,并且某些工具只针对特定虚拟化平台,但是基准测试工具得到 的结果准确度较高,分析化的性能评估方法提高了性能评估效率,节约了评估成本,虽然分 析化的评估方法得到的结果可能精确度低于模拟的方法,但是可W通过对虚拟化服务器特 征的详细分析W及合理抽象来提高评估精确度,因此分析化性能评估方法也是研究者常用 的性能评估方法。
[0006] KVM是服务器虚拟化领域的新进入者,在2007年被合并入Linux内核,成为Linux系 统的默认虚拟化解决方案,并且与化enStack云计算平台联系紧密,运为KVM的使用提供了 巨大空间,KVM正逐渐成为流行的开源虚拟化解决方案,目前对虚拟化服务器性能评估主要 集中于Xen虚拟化平台,针对KVM中虚拟化服务器的性能评估研究较少。

【发明内容】

[0007] 本发明的主要目的是提供一种KVM虚拟化环境中的虚拟服务器性能评估方法,帮 助服务提供者高效的评估虚拟服务器的性能,并且基于获得的虚拟化服务器中主要组件的 性能度量值,也可W帮助使用者发现虚拟化系统的性能瓶颈。
[0008] 本发明提供一种针对KVM虚拟化服务器的性能评估方法,其包括w下步骤:
[0009] S1:在应用层面,确定KVM中虚拟化服务器性能评估度量项为响应时间与吞吐量; [0010] S2:根据KVM中虚拟化资源实现方式,确定KVM虚拟化环境中,非I/O请求与I/O请求 在虚拟化服务器中的处理过程;
[00川 S3:构建基于开放型排队网络模型的虚拟化服务器性能评估模型,将KVM中虚拟化 服务器性能度量分为CPU,虚拟磁盘与物理磁盘性能度量Ξ部分;
[001 ^ S4:在Linux操作系统中,根据建立的KVM虚拟服务器性能评估模型,计算性能评估 度量指标的定量值。
[0013] 本发明的一个实施例中,宿主系统与虚拟机都为Linux操作系统,在提出的性能评 估模型的基础上,结合Linux开源特征获取其进程与磁盘操作数据,给出了一种Linux环境 中的性能计算方法,使用户可W使用该方法得到虚拟机性能评估指标的定量值。
[0014] 本发明的一个实施例中,步骤S3中计算性能评估度量指标的定量值的具体计算步 骤包括:
[0015] 步骤3.1:在处理用户请求之前(或者说虚拟化服务器中应用使用之前),使用 Linux中top与iotop收集客户虚拟机W及宿主系统进程信息W及读写磁盘进程信息,基于 获得的进程信息,获得初始状态下应用相关进程使用的CPU时间,并记录Linux中sys/block 文件目录下磁盘活跃时间与读写次数;
[0016] 步骤3.2:在虚拟化服务器使用过程中,在宿主系统与客户虚拟机中开启Linux中 top与iotop命令,收集系统进程W及磁盘数据,基于收集的进程数据得到请求处理过程中 相关应用进程占用的CPU时间W及磁盘读写操作数;
[0017] 步骤3.3:记录虚拟化服务器使用结束后,sys/block文件目录下磁盘活动时间,读 写次数信息,并通过系统var/log目录下的日志文件获取用户请求类型W及操作数目,请求 处理完成后通过磁盘的活跃时间W及读写次数与初始状态下对应数据的差值,得到请求处 理过程中磁盘的活跃时间与读写操作总数,通过磁盘活跃时间与虚拟化服务器处理请求的 总时间之比,得到请求处理期间磁盘使用率,步骤3.2得到的请求产生的磁盘操作数与实验 过程中总的磁盘操作数之比与总的磁盘使用率相乘得到处理请求占用的磁盘使用率,基于 排队网络中使用率与服务器需求的关系得到请求在磁盘消耗的时间;
[0018] 步骤3.4:通过将请求在CPU、虚拟磁盘与物理磁盘消耗的时间相加得到响应时间 运一度量指标,通过在日志文件中获得的请求数目得到虚拟化服务器处理的总请求数,通 过总请求数与总请求处理时间之比得到吞吐量运一度量指标。
[0019] 本发明的一个计算实例中,在KVM中创建两个虚拟化服务器分别作为web服务器与 数据库服务器,借助工具化化erf与SysBench分别产生到虚拟化web服务器与数据库服务器 的访问请求,基于步骤Ξ构建的性能评估模型,计算性能度量指标的定量值。在本实例虚拟 化web服务器中通过化化d日志文件得到应用访问日志,在虚拟化数据库中安装mysql,并开 启一般查询日志功能,通过系统中mysql与一般查询日志得到应用访问日志,在虚拟化web 服务器与虚拟化数据库服务器中性能计算方法相同,性能度量都分为CPU、虚拟磁盘与物理 磁盘Ξ部分,计算公式为:
[0020]
(1)
[0021]

[002^ 其中Tcpu,p啡康示在服务器处理请求期间,进程i使用的CPU时间,进程pidi,pidr·· pidk表示处理请求相关的应用进程,Atetal表示服务器处理的请求总数,Rcpu,req表示CPU处理 请求的平均时间。
[0023] 请求在虚拟磁盘或物理磁盘消耗的平均时间计算公式为:
[0024]
[002引其中巧旨服务器处理用户请求的总时间,即实验时间,Tdisk表示服务器处理用户请 求时间磁盘忙碌的时间,Readdisk,t0tai与WritedisMotai分别表示服务器处理用户请求期间总 的磁盘读写数,Readdisk,,)idi与Write加;!,pidi分别表示请求设及的磁盘读写操作数,其中 Pidi,pidr-Pidk表示与请求相关的磁盘访问进程,UdisMDtal表示服务器在处理请求期间磁 盘总的使用率,Udisk,req表示处理请求造成的磁盘使用率,请求进行I/O操作花费的时间为:
[0029]
0)
[0030] 其中Xdisk,req磁盘吞吐量,即磁盘在单位时间内处理的读写操作数,则根据排队网 络模型中使用率与时间的关系得到磁盘处理I/O请求的响应时间为:
[0031]

[0032] 系统总体性能为:Rweb = Rweb,cpu+Rweb,vdisk+Rweb,disk,Xweb = ^total/T。
[0033] 本发明提出针对KVM的虚拟化服务器性能评估方法,其优点及效果是:
[0034] 首先,该方法基于请求在虚拟化服务器中的处理过程,分别计算虚拟化系统中主 要组件对请求的处理性能,从而帮助服务器提供商发现系统性能瓶颈,其次该方法基于分 析化的性能建模方法,提高了性能评估的效率,节约了成本,最后,通过设计实验,将性能评 估结果与基准测试工具评测结果W及理论分析结论进行比较,验证了该性能评估计算方法 的正确性。
【附图说明】
[0035] 图1是KVM体系结构图;
[0036] 图2是KVM虚拟化环境中性能度量指标及其影响因素;
[0037] 图3是KVM虚拟化系统执行流程图;
[003引图4是KVM虚拟化服务器性能评估模型,其中,VCPU表示vbtual CPU,即虚拟CPU, VM表示vbtual machine,即虚拟机,具体的:VMl代表虚拟机1,QEMU是现有的一种硬件模拟 器,在KVM虚拟化中一个虚拟机对应一个犯MU进程)。
【具体实施方式】
[0039] 本发明基于KVM虚拟化服务器性能评估方法,将应用层面响应时间与吞吐量作为 虚拟化服务器性能评估指标,通过对KVM虚拟化系统中请求处理流程进行抽象分析,使用开 放型排队网络模型进行性能评估建模,借助Linux系统中可W获得的进程级相关数据,进行 性能度量指标计算。
[0040] 本发明使用分析化建模方法,提出一种针对KVM虚拟化服务器的性能评估方法,作 为不同Q〇S(Quality of Service,服务质量)要求的应用环境中虚拟化服务器选择比较标 准,最终实现提高性能评估效率,简化性能评估成本,并丰富KVM虚拟化性能评估领域研究 的目的。
[0041] 本发明提供一种针对KVM虚拟化服务器的性能评估方法,其包括W下步骤:
[0042] S1:在应用层面,确定KVM中虚拟化服务器性能评估度量项为响应时间与吞吐量;
[0043] S2:根据KVM中虚拟化资源实现方式,确定KVM虚拟化环境中,非I/O请求与I/O请求 在虚拟化服务器中的处理过程;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1