CN112882791B - 虚拟机性能的优化方法、设备及存储介质 - Google Patents

虚拟机性能的优化方法、设备及存储介质 Download PDF

Info

Publication number
CN112882791B
CN112882791B CN202110159552.7A CN202110159552A CN112882791B CN 112882791 B CN112882791 B CN 112882791B CN 202110159552 A CN202110159552 A CN 202110159552A CN 112882791 B CN112882791 B CN 112882791B
Authority
CN
China
Prior art keywords
virtual machine
host
software
service
service scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110159552.7A
Other languages
English (en)
Other versions
CN112882791A (zh
Inventor
龙浩
苏奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202110159552.7A priority Critical patent/CN112882791B/zh
Publication of CN112882791A publication Critical patent/CN112882791A/zh
Application granted granted Critical
Publication of CN112882791B publication Critical patent/CN112882791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及虚拟机性能的优化技术领域,公开了一种虚拟机性能的优化方法、设备及存储介质,所述方法包括:根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景;根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。本发明是通过获取虚拟机的业务场景,对所述业务场景进行识别,获得宿主机的业务场景,并对所述宿主机的当前系统参数进行调整,相较于现有技术使用通用的系统参数,能够有效提高所述宿主机中虚拟机的性能。

Description

虚拟机性能的优化方法、设备及存储介质
技术领域
本发明涉及虚拟机性能的优化技术领域,尤其涉及虚拟机性能的优化方法、设备及存储介质。
背景技术
随着互联网信息化的不断发展,云计算、大数据、物联网等技术广泛的应用于不同行业,这也给服务器市场带来了巨大的改变,为了适应这样的变化,虚拟主机、云主机油然而生,通过虚拟化应用使企业的发展越来越迅速,所述虚拟化就是把物理资源转变为逻辑上可以管理的资源,从而打破了物理结构之间的壁垒,正是由于虚拟技术给人们带来了方便,虚拟机的性能对处理效率起着举足轻重的作用,因此,对虚拟机性能的优化是一个亟待解决的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种虚拟机性能的优化方法、设备及存储介质,旨在解决无法有效提高虚拟机性能的技术问题。
为实现上述目的,本发明提供了一种虚拟机性能的优化方法,所述虚拟机性能的优化方法包括以下步骤:
根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景;
根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;
根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;
根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。
可选地,所述根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景,包括:
根据虚拟机的所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值;
基于所述频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件;
根据所述目标软件,确定所述虚拟机的业务场景。
可选地,所述根据所述目标软件,确定所述虚拟机的业务场景,包括:
获取预设业务场景分别对应的预设软件;
判断所述目标软件中是否存在所述预设软件;
若存在所述预设软件,则将所述预设软件对应的预设业务场景确定为所述虚拟机的业务场景。
可选地,所述根据所述目标软件,确定所述虚拟机的业务场景,包括:
在所述目标软件中选取一目标软件,将所选取的该目标软件对应的业务场景作为所述虚拟机的业务场景。
可选地,所述根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景之前,还包括:
判断是否接收到手动指定宿主机场景的操作;
相应地,根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景,包括:
若未接收到,则根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
可选地,所述根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别,包括:
对获取的各个虚拟机的业务场景进行统计,选取数量大于预设数量的虚拟机的业务场景作为所述宿主机的业务场景。
可选地,所述根据所述宿主机的业务场景,获得所述宿主机的目标系统参数,包括:
根据所述宿主机的业务场景,获取预设脚本文件,在所述宿主机中的各个虚拟机中执行所述预设脚本文件中定义的所述宿主机业务场景的经常性操作,得到各个虚拟机运行所述经常性操作的时长;
根据各个虚拟机运行所述经常性操作的时长,确定虚拟机的最终时长;
不断调整所述宿主机的系统参数,获取调整宿主机系统参数过程中,分别对应的虚拟机的最终时长;
根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数。
可选地,所述根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数,包括:
根据调整宿主机系统参数过程中得到的虚拟机的最终时长进行比较,得到目标时长;
将所述目标时长所对应的宿主机系统参数确定为所述宿主机在所述业务场景下的目标系统参数。
此外,为实现上述目的,本发明还提出一种虚拟机性能的优化装置,所述虚拟机性能的优化装置包括:
获取模块,用于根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景;
识别模块,用于根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;
获取模块,还用于根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;
参数优化模块,用于根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。
此外,为实现上述目的,本发明还提出一种虚拟机性能的优化设备,所述虚拟机性能的优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟机性能的优化程序,所述虚拟机性能的优化程序配置为实现如上文所述的虚拟机性能的优化方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述存储介质上存储有虚拟机性能的优化程序,所述虚拟机性能的优化程序被处理器执行时实现如上文所述的虚拟机性能的优化方法的步骤。
目前虚拟化桌面通常是基于KVM(基于内核的虚拟机,Kernel-based VirtualMachine)架构的虚拟化平台,不会关注虚拟机内部运行的具体业务,并且是统一使用一套通用的系统参数,使平台中的虚拟机的性能处于一个比较中庸的状态,导致处理效率较低。
本发明提出的虚拟机性能的优化方法,通过虚拟机中的软件运行信息,获取所述虚拟机的业务场景;根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。本发明是通过所述虚拟机中软件的运行信息,获得对应的业务场景,并对所述业务场景进行识别,获得所述宿主机的业务场景,并根据所述宿主机的业务场景,获得所述宿主机的目标系统参数,并根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化,从而能够有效提高所述宿主机中虚拟机的性能,进而改善用户操作虚拟机的用户体验。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的虚拟机性能的优化设备的结构示意图;
图2为本发明虚拟机性能的优化方法第一实施例的流程示意图;
图3为本发明虚拟机性能的优化方法中一实施例的宿主机业务场景识别流程示意图;
图4为本发明虚拟机性能的优化方法第二实施例的流程示意图;
图5为本发明虚拟机性能的优化方法第三实施例的流程示意图;
图6为本发明虚拟机性能的优化装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的虚拟机性能的优化设备结构示意图。
如图1所示,该虚拟机性能的优化设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对虚拟机性能的优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚拟机性能的优化程序。
在图1所示的虚拟机性能的优化设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明虚拟机性能的优化设备中的处理器1001、存储器1005可以设置在虚拟机性能的优化设备中,所述虚拟机性能的优化设备通过处理器1001调用存储器1005中存储的虚拟机性能的优化程序,并执行本发明实施例提供的虚拟机性能的优化方法。
基于上述硬件结构,提出本发明虚拟机性能的优化方法实施例。
参照图2,图2为本发明一种虚拟机性能的优化方法第一实施例的流程示意图。
在第一实施例中,所述虚拟机性能的优化方法包括以下步骤:
步骤S10,根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
需要说明的是,本实施例的执行主体可为虚拟机性能的优化设备,该优化设备可以是宿主机,也可以为除宿主机以外的其他设备,本实施例对此不作限制,在本实施例中,以虚拟机性能的优化设备为例进行说明。
可以理解的是,所述虚拟机的业务场景指的是所述云桌面平台所承载的业务场景,所述业务场景为预先在系统中设置的,不同的软件信息对应的所述虚拟机的业务场景是不同的,例如,若所述虚拟机大部分时间都是在运行office时,则所述虚拟机的业务场景为office办公场景,若所述虚拟机大部分时间都在进行视频播放,则所述虚拟机的业务场景为视频场景,若所述虚拟机大部分时间都在使用BS(Browser/Server,浏览器/服务器模式)架构的在线办公平台,则所述虚拟机的业务场景为在线办公场景,当然所述虚拟机的业务场景还可以为其他业务场景,本实施例对此不作限制,在根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景之前,首先需要判断是否接收到手动指定宿主机业务场景的操作,若接收到,则表明此时需要通过手动直接选定,而不需要进行自动识别,若未接收到,则需要根据虚拟机中的软件运行信息,获得所述虚拟机的业务场景,并进而执行后续步骤,确定宿主机的业务场景。
应当理解的是,所述虚拟机中的软件运行信息可以包括:虚拟机内部运行的软件类型、软件运行的时间和/或软件窗口的前置时间,所述软件窗口的前置时间具体为用户正在操作的软件,所述操作的软件会显示在前置页面。
可以理解的是,在计算机科学中的体系结构,所述虚拟机可以为一种特殊的软件,它可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件,所述宿主机指的是需要安装虚拟机软件的计算机。
在具体实施中,虚拟机性能的优化设备根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
步骤S20,根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别。
应当理解的是,所述对宿主机的业务场景进行识别指的是将所述虚拟机运行时的业务场景统一成宿主机的单个业务场景,所述识别分为两种方式,一种是手动指定场景,另外一种是自动识别业务场景,本实施例以自动识别业务场景为例进行说明,所述宿主机的业务场景的得到具体为:选取虚拟机业务场景数量最多的一业务场景作为宿主机的业务场景;或者也可以对各个虚拟机业务场景设置权重,根据设置的各个权重以及各个虚拟机业务场景,确定宿主机的业务场景。此外,在确定宿主机的业务场景时,所依据的虚拟机可以是宿主机中的全部虚拟机,也可以是部分占用较多宿主机资源的虚拟机,本申请对此不作限定。
可以理解的是,在得到所述虚拟机的业务场景后,需要对所述虚拟机的业务场景进行统计,例如,统计一台宿主机上所有虚拟机的业务场景,如果有70%的虚拟机处于同一个业务场景,则将该业务场景作为宿主机的业务场景。
应当理解的是,所述系统参数指的是所述宿主机在运行过程中的运行参数,所述运行参数可以是调度周期,也可以是线程最少运行时间,还可以是基于内核的虚拟机参数,本实施例对此不作限制。
在具体实施例中,虚拟机性能的优化设备根据所述宿主机的业务场景,获得所述宿主机的目标系统参数。
步骤S30,根据所述宿主机的业务场景,获得所述宿主机的目标系统参数。
应当理解的是,所述目标系统参数是根据宿主机的业务场景得到的,具体是在获得宿主机的业务场景后,根据宿主机的业务场景,获取与所述业务场景对应的预设脚本文件,并所述各个虚拟机执行所述预设脚本文件中的宿主机业务场景的经常性操作(比如,office办公场景对应的经常性操作为:键鼠操作、鼠标互动操作等等),确定虚拟机的最终时长,根据所述虚拟机的最终时长与所述宿主机的系统参数的映射关系,从而可以得到所述宿主机的目标系统参数(即可以将最短的最终时长所对应的宿主机系统参数,确定为目标系统参数),所述虚拟机的最终时长可以是各个虚拟机执行各个所述经常性操作的时长的平均值,也可以是加权平均值,本实施例对此不作限制。
通过上述方法确定目标系统参数的方法可以在实际业务运行过程中执行确定,当然,上述方法可以在研发阶段执行,从而得到目标系统参数与宿主机业务场景的映射关系,并将该映射关系存储起来,在实际业务运行过程中可以直接查找目标系统参数与宿主机业务场景的映射关系,确定步骤S30要得到的目标系统参数。
在具体实施中,虚拟机性能的优化设备根据所述宿主机的业务场景,获得所述宿主机的目标系统参数。
步骤S40,根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。
应当理解的是,所述当前系统参数为所述宿主机的当前未调整系统参数之前的系统参数,随着时间的改变,所述当前系统参数是随着宿主机运行时业务场景进行变化的,例如所述宿主机在运行A、B以及C三个场景的当前系统参数为M,而在运行A、B以及D三个场景的当前系统参数为N。
可以理解的是,所述参数优化指的是达到设计目标的一种方法,通过将设计目标参数化,采用优化方法,不断的调整设计变量,使得设计结果不断接近参数化的目标值,所述目标值具体为将所述宿主机的当前系统参数优化为目标系统参数。
在具体实施中,虚拟机性能的优化设备根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。
如图3所述,所述图3为宿主机业务场景识别流程示意图,主要流程是判断是否接收到手动指定业务场景指令,若接收到手动指定业务场景指令,所述宿主机的业务场景则为手动指定的业务场景,若未接收到手动指定业务场景,采用自动识别的方式获得所述宿主机的业务场景,所述自动识别的方式的步骤如下:收集虚拟机内部的软件运行信息,根据所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件,判断预设软件是否存在所述目标软件,若存在所述预设软件,则将所述预设软件对应的预设业务场景确定为所述虚拟机的业务场景,根据所述宿主机的业务场景,获得所述宿主机的目标系统参数,同时以主机为最小单位分为所述虚拟机的业务场景。
本实施例通过虚拟机中的软件运行信息,获取所述虚拟机的业务场景;根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。本发明是通过所述虚拟机中软件的运行信息,获得对应的业务场景,并对所述业务场景进行识别,获得所述宿主机的业务场景,并根据所述宿主机的业务场景,获得所述宿主机的目标系统参数,并根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化,从而能够有效提高所述宿主机中虚拟机的性能,进而改善用户操作虚拟机的用户体验。
在一实施例中,如图4所述,基于第一实施例提出本发明虚拟机性能的优化方法第二实施例,所述步骤10,包括:
步骤S101,根据虚拟机的所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值。
可以理解的是,所述虚拟机中所运行的各个软件的频繁度值是根据预设内置规则对所述软件运行信息进行计算得到的,所述预设内置规则的具体计算公式为:软件运行时间所占比例*0.2+软件窗口前置时间*0.8,计算得到的结果即为各个软件的频繁度值,例如某一软件的运行时间所占比例是0.5,其窗口前置时间是0.2,则所述运行软件的频繁度值是:0.5*0.2+0.2*0.8=0.26。
在具体实施中,虚拟机性能的优化设备根据虚拟机的所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值。
步骤S102,基于所述频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件。
可以理解的是,所述目标软件是基于所述频繁度进行排序和选取获得的,首先是在获得各个软件的频繁度值后,将所述各个软件的频繁度值按照从大到小进行排序,然后将排序好的各个软件选取前N的软件作为目标软件,所述N为任意正整数,本实施例对此不作限制,在进行举例说明时可以以N=3进行说明,例如,所述运行的软件有WPS、Photoshop、Foxmail以及系统自带的视频播放软件,所述WPS运行时间是10分钟,窗口前置时间是5分钟,所述Photoshop运行时间是50分钟,窗口前置时间是10分钟,所述Foxmail运行时间是30分钟,窗口前置时间是6分钟,所述系统自带的视频播放软件运行时间是1分钟,窗口前置时间为1分钟,那么根据预设频繁度算法计算出所述WPS的频繁度值为6,所述Photoshop的频繁度值为18,所述Foxmail的频繁度值为10.8,所述系统自带的视频播放软件的频繁度值为1.6,那么排序后软件为Photoshop、Foxmail、WPS以及所述系统自带的视频播放软件,所述选取是对所述排序后的软件信息进行选择,例如按照频繁度值排序后的软件是Photoshop、Foxmail、WPS以及所述系统自带的视频播放软件,此时需要选取前三名的软件,即为Photoshop、Foxmail、WPS。
在具体实施中,虚拟机性能的优化设备基于所述频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件。
步骤S103,根据所述目标软件,确定所述虚拟机的业务场景。
可以理解的是,所述虚拟机的业务场景是根据所述目标软件进行得到的,在获得到所述目标软件后,获取预设业务场景分别对应的预设软件,并判断所述目标软件中是否存在所述预设软件,若存在所述预设软件,则将所述预设软件对应的预设业务场景作为所述虚拟机的业务场景,例如,所述目标软件为A、B以及C三种,而所述预设业务场景为D,而所述预设业务场景对应的预设软件为A,那么就将预设业务场景D作为所述虚拟机的业务场景。
应当理解的是,在获得所述目标软件后,也可以直接从所述目标软件中选择一个软件的业务场景作为所述虚拟机的业务场景,例如,所述目标软件为A、B以及C三种,其分别对应的业务场景为A’、B’以及C,那么此时可以直接选定A’作为所述虚拟机的业务场景。
在具体实施中,虚拟机性能的优化设备根据所述目标软件,确定所述虚拟机的业务场景。
本实施例中根据虚拟机的所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值;基于所述频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件;根据所述目标软件,确定所述虚拟机的业务场景。本实施例通过对所述虚拟机的软件运行信息进行计算,获得所述虚拟机中运行的各个软件的频繁度值,基于所述频繁度值,将所述虚拟机内的各个软件进行排序,并对所述排序后的各个软件进行选取,将选取的前预设数目的软件确定为目标软件,获取预设场景对应的预设软件,判断所述目标软件中是否存在预设软件,若存在预设软件,则将所述预设软件对应的业务场景作为所述虚拟机的业务场景,或者直接从所述目标软件中选择一个软件的业务场景作为所述虚拟机的业务场景,从而提高了获得所述宿主机的业务场景的合理性。
在一实施例中,如图5所述,基于第一实施例提出本发明虚拟机性能的优化方法第三实施例,可通过以下步骤,确定宿主机业务场景和系统参数的对应关系,从而在上述步骤S30中,可以基于预先获取的对应关系,获取目标系统参数。
对于每个宿主机的业务场景(为便于后续描述,称之为业务场景X),可通过如下各个步骤确定其最优的系统参数:
步骤S301,根据所述宿主机的业务场景,获取预设脚本文件,在所述宿主机中的各个虚拟机中执行所述预设脚本文件中定义的所述宿主机业务场景的经常性操作,得到各个虚拟机运行所述经常性操作的时长。
应当理解的是,启动预设数量的虚拟机,设置每个虚拟机的业务场景为所述业务场景X,通过预设脚本文件模拟该虚拟机在业务场景X下的常规操作,并记录所述各个虚拟机执行所述经常性操作的时长,所述各个虚拟机运行所述经常性操作的时长指的是模拟经常性操作从开始到结束的时间,所述执行时间可用于评估虚拟机性能好坏。
可以理解的是,所述预设脚本文件可以为程序,通过运行所述程序后即可使所述虚拟机执行所述宿主机业务场景的经常性操作,其中所述经常性操作可以为所述宿主机业务场景经常进行的操作,所述预设脚本文件类似于DOS操作系统(Disk Operation System,磁盘操作系统)中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行,例如,所述所述脚本文件为模拟业务场景office办公场景下的经常性操作,具体是运行脚本文件,可以模拟的常规操作可为打开excel表格、滚动表格到末尾、滚动word文档到末尾以及输入文字等等。
在具体实施中,虚拟机性能的优化设备根据所述宿主机的业务场景,获取预设脚本文件,在所述宿主机中的各个虚拟机中执行所述预设脚本文件中定义的所述宿主机业务场景的经常性操作,得到各个虚拟机运行所述经常性操作的时长。
步骤S302,根据各个虚拟机运行所述经常性操作的时长,确定虚拟机的最终时长。
应当理解的是,所述虚拟机的最终时长可以为所有时长的平均值,也可以为加权平均值,所述虚拟机的最终时长是在获得各个虚拟机运行所述经常性操作得到的。
在具体实施中,虚拟机性能的优化设备根据各个虚拟机运行所述经常性操作的时长,确定虚拟机的最终时长。
步骤S303,不断调整所述宿主机的系统参数,获取调整宿主机系统参数过程中,分别对应的虚拟机的最终时长。
应当理解的是,所述对应的虚拟机的最终时长是在调整宿主机的系统参数的过程记录到的时长,由于确定所述宿主机的业务场景,那么根据所述业务场景即可获得所述所述宿主机的目标系统参数,并根据所述目标系统参数对所述宿主机的当前系统参数进行调整,以调整为所述目标系统参数。
可以理解的是,调整的系统参数应为所述宿主机的当前系统参数,所述当前系统参数为在获得宿主机的业务场景后,此时的业务场景为所述宿主机运行的业务场景,并查看所述宿主机运行时的系统参数,所述系统参数即为当前系统参数。
步骤S304,根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数。
应当理解的是,在获得所述虚拟机的最终时长后,需要将所述最终时长进行比较,根据比较结果得到目标时长,所述目标时长即为最短的最终时长,在获得所述目标时长后,获取所述时长和所述宿主机的关系映射表,根据所述目标时长在所述关系映射表中进行查询,获得所述宿主机在所述业务场景下的目标系统参数,所述比较不能无限制的进行比较,需要设定一个时间,在该时间内的进行比较,并取其中的最短时间,所述设定的时间可以为7天,也可以为30天,本实施例对此不作限制。
可以理解的是,所述关系映射表包含所述系统参数、最终时长及所述系统参数对应的性能值等信息,通过其中的某一条件可以获得其他参数信息,参数之间的关系可以是一对一的关系,也可以是一对多的关系,还可以是其他对应关系,本实施例对此不作限制。
在具体实施中,虚拟机性能的优化设备根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数。
本实施例根据所述宿主机的业务场景,获取预设脚本文件,在所述宿主机中的各个虚拟机中执行所述预设脚本文件中定义的所述宿主机业务场景的经常性操作,得到各个虚拟机运行所述经常性操作的时长;根据各个虚拟机运行所述经常性操作的时长,确定虚拟机的最终时长,不断调整所述宿主机的系统参数,获取调整宿主机系统参数过程中,分别对应的虚拟机的最终时长;根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数。本实施例通过所述宿主机的业务场景,获得与所述宿主机对应的预设脚本文件,以使所述虚拟机执行所述预设脚本中定义的所述宿主机业务场景的经常性操作,并记录执行过程的时长,并不断调整所述宿主机的系统参数,通过不断调整确定宿主机在所述业务场景下的目标系统参数,以实现对所述宿主机中虚拟机性能的优化,从而提高所述虚拟机的运行效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有虚拟机性能的优化程序,所述虚拟机性能的优化程序被处理器执行时实现如上文所述的虚拟机性能的优化方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,参照图6,本发明实施例还提出一种虚拟机性能的优化装置,所述虚拟机性能的优化装置包括:
获取模块10,用于根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
可以理解的是,所述虚拟机的业务场景指的是所述云桌面平台所承载的业务场景,所述业务场景为预先在系统中设置的,不同的软件信息对应的所述虚拟机的业务场景是不同的,例如,若所述虚拟机大部分时间都是在运行office时,则所述虚拟机的业务场景为office办公场景,若所述虚拟机大部分时间都在进行视频播放,则所述虚拟机的业务场景为视频场景,若所述虚拟机大部分时间都在使用BS(Browser/Server,浏览器/服务器模式)架构的在线办公平台,则所述虚拟机的业务场景为在线办公场景,当然所述虚拟机的业务场景还可以为其他业务场景,本实施例对此不作限制,在根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景之前,首先需要判断是否接收到手动指定宿主机业务场景的操作,若接收到,则表明此时需要通过手动直接选定,而不需要进行自动识别,若未接收到,则需要根据虚拟机中的软件运行信息,获得所述虚拟机的业务场景,并进而执行后续步骤,确定宿主机的业务场景。
应当理解的是,所述虚拟机中的软件运行信息可以包括:虚拟机内部运行的软件类型、软件运行的时间和/或软件窗口的前置时间,所述软件窗口的前置时间具体为用户正在操作的软件,所述操作的软件会显示在前置页面。
可以理解的是,在计算机科学中的体系结构,所述虚拟机可以为一种特殊的软件,它可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件,所述宿主机指的是需要安装虚拟机软件的计算机。
在具体实施中,虚拟机性能的优化设备根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
分析模块20,用于根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别。
应当理解的是,所述对宿主机的业务场景进行识别指的是将所述虚拟机运行时的业务场景统一成宿主机的单个业务场景,所述识别分为两种方式,一种是手动指定场景,另外一种是自动识别业务场景,本实施例以自动识别业务场景为例进行说明,获得所述宿主机的业务场景的具体步骤为:选取虚拟机业务场景数量最多的一业务场景作为宿主机的业务场景;或者也可以对各个虚拟机业务场景设置权重,根据设置的各个权重以及各个虚拟机业务场景,确定宿主机的业务场景。此外,在确定宿主机的业务场景时,所依据的虚拟机可以是宿主机中的全部虚拟机,也可以是部分占用较多宿主机资源的虚拟机,本申请对此不作限定。
可以理解的是,在得到所述虚拟机的业务场景后,需要对所述虚拟机的业务场景进行统计,例如,统计一台宿主机上所有虚拟机的业务场景,如果有70%的虚拟机处于同一个业务场景,则将该业务场景作为宿主机的业务场景。
应当理解的是,所述系统参数指的是所述宿主机在运行过程中的运行参数,所述运行参数可以是调度周期,也可以是线程最少运行时间,还可以是基于内核的虚拟机参数,本实施例对此不作限制。
在具体实施例中,虚拟机性能的优化设备根据所述宿主机的业务场景,获得所述宿主机的目标系统参数。
所述获取模块10,还用于根据所述宿主机的业务场景,获得所述宿主机的目标系统参数。
应当理解的是,所述目标系统参数是根据宿主机的业务场景得到的,具体是在获得宿主机的业务场景后,根据宿主机的业务场景,获取与所述业务场景对应的预设脚本文件,并所述各个虚拟机执行所述预设脚本文件中的宿主机业务场景的经常性操作(比如,office办公场景对应的经常性操作为:键鼠操作、鼠标互动操作等等),确定虚拟机的最终时长,根据所述虚拟机的最终时长与所述宿主机的系统参数的映射关系,从而可以得到所述宿主机的目标系统参数(即可以将最短的最终时长所对应的宿主机系统参数,确定为目标系统参数),所述虚拟机的最终时长可以是各个虚拟机执行各个所述经常性操作的时长的平均值,也可以是加权平均值,本实施例对此不作限制。
通过上述方法确定目标系统参数的方法可以在实际业务运行过程中执行确定,当然,上述方法可以在研发阶段执行,从而得到目标系统参数与宿主机业务场景的映射关系,并将该映射关系存储起来,在实际业务运行过程中可以直接查找目标系统参数与宿主机业务场景的映射关系,确定步骤S30要得到的目标系统参数。
在具体实施中,虚拟机性能的优化设备根据所述宿主机的业务场景,获得所述宿主机的目标系统参数。
参数优化模块30,还用于根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。
应当理解的是,所述当前系统参数为所述宿主机的当前未调整系统参数之前的系统参数,随着时间的改变,所述当前系统参数是随着宿主机运行时业务场景进行变化的,例如所述宿主机在运行A、B以及C三个场景的当前系统参数为M,而在运行A、B以及D三个场景的当前系统参数为N。
可以理解的是,所述参数优化指的是达到设计目标的一种方法,通过将设计目标参数化,采用优化方法,不断的调整设计变量,使得设计结果不断接近参数化的目标值,所述目标值具体为将所述宿主机的当前系统参数优化为目标系统参数。
在具体实施中,虚拟机性能的优化设备根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。
本实施例通过虚拟机中的软件运行信息,获取所述虚拟机的业务场景;根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化。本发明是通过所述虚拟机中软件的运行信息,获得对应的业务场景,并对所述业务场景进行识别,获得所述宿主机的业务场景,并根据所述宿主机的业务场景,获得所述宿主机的目标系统参数,并根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化,从而能够有效提高所述宿主机中虚拟机的性能,进而改善用户操作虚拟机的用户体验。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的虚拟机性能的优化方法,此处不再赘述。
在一实施例中,所述获取模块10,还用于根据虚拟机的所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值;基于所述频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件;根据所述目标软件,确定所述虚拟机的业务场景。
在一实施例中,所述获取模块10,还用于获取预设业务场景分别对应的预设软件;判断所述目标软件中是否存在所述预设软件;若存在所述预设软件,则将所述预设软件对应的预设业务场景确定为所述虚拟机的业务场景。
在一实施例中,所述获取模块10,还用于在所述目标软件中选取一目标软件,将所选取的该目标软件对应的业务场景作为所述虚拟机的业务场景。
在一实施例中,所述获取模块10,还用于判断是否接收到手动指定宿主机场景的操作;相应地,根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景,包括:若未接收到,则根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
在一实施例中,所述获取模块10,还用于对获取的各个虚拟机的业务场景进行统计,选取数量大于预设数量的虚拟机的业务场景作为所述宿主机的业务场景。
在一实施例中,所述获取模块10,还用于根据所述宿主机的业务场景,获取预设脚本文件,在所述宿主机中的各个虚拟机中执行所述预设脚本文件中定义的所述宿主机业务场景的经常性操作,得到各个虚拟机运行所述经常性操作的时长;根据各个虚拟机运行所述经常性操作的时长,确定虚拟机的最终时长;不断调整所述宿主机的系统参数,获取调整宿主机系统参数过程中,分别对应的虚拟机的最终时长;根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数。
在一实施例中,所述获取模块10,还用于根据调整宿主机系统参数过程中得到的虚拟机的最终时长进行比较,得到目标时长;将所述目标时长所对应的宿主机系统参数确定为所述宿主机在所述业务场景下的目标系统参数。
本发明所述虚拟机性能的优化装置的其他实施例或具有实现方法可参照上述各方法实施例,此处不在赘余。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种虚拟机性能的优化方法,其特征在于,所述虚拟机性能的优化方法包括以下步骤:
根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景;
根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别;
根据所述宿主机的业务场景,获得所述宿主机的目标系统参数;
根据所述目标系统参数对所述宿主机的当前系统参数进行参数优化;
所述根据所述宿主机的业务场景,获得所述宿主机的目标系统参数,包括:
根据所述宿主机的业务场景,获取预设脚本文件,在所述宿主机中的各个虚拟机中执行所述预设脚本文件中定义的所述宿主机业务场景的经常性操作,得到各个虚拟机运行所述经常性操作的时长;
根据各个虚拟机运行所述经常性操作的时长,确定虚拟机的最终时长,其中,所述虚拟机的最终时长指的是各个虚拟机运行经常性操作的时长的平均值;
不断调整所述宿主机的系统参数,获取调整宿主机系统参数过程中,分别对应的虚拟机的最终时长;
根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数。
2.如权利要求1所述的虚拟机性能的优化方法,其特征在于,所述根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景,包括:
通过预设内置规则根据虚拟机的所述软件运行信息,计算所述虚拟机中所运行的各个软件的频繁度值,其中,所述软件运行信息包括软件运行时间所占比例和软件窗口前置时间,所述预设内置规则的具体计算公式为:频繁度值=软件运行时间所占比例*0.2+软件窗口前置时间*0.8;
基于所述频繁度值,将所述频繁度值排序为前预设数目的软件确定为目标软件;
根据所述目标软件,确定所述虚拟机的业务场景。
3.如权利要求2所述的虚拟机性能的优化方法,其特征在于,所述根据所述目标软件,确定所述虚拟机的业务场景,包括:
获取预设业务场景分别对应的预设软件;
判断所述目标软件中是否存在所述预设软件;
若存在所述预设软件,则将所述预设软件对应的预设业务场景确定为所述虚拟机的业务场景。
4.如权利要求2所述的虚拟机性能的优化方法,其特征在于,所述根据所述目标软件,确定所述虚拟机的业务场景,包括:
在所述目标软件中选取一目标软件,将所选取的该目标软件对应的业务场景作为所述虚拟机的业务场景。
5.如权利要求1所述的虚拟机性能的优化方法,其特征在于,所述根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景之前,还包括:
判断是否接收到手动指定宿主机场景的操作;
相应地,根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景,包括:
若未接收到,则根据虚拟机中的软件运行信息,获取所述虚拟机的业务场景。
6.如权利要求2所述的虚拟机性能的优化方法,其特征在于,所述根据所述虚拟机的业务场景,对所述虚拟机所在的宿主机的业务场景进行识别,包括:
对获取的各个虚拟机的业务场景进行统计,选取数量大于预设数量的虚拟机的业务场景作为所述宿主机的业务场景。
7.如权利要求1所述的虚拟机性能的优化方法,其特征在于,所述根据调整宿主机系统参数过程中得到的虚拟机的最终时长,确定宿主机在所述业务场景下的目标系统参数,包括:
根据调整宿主机系统参数过程中得到的虚拟机的最终时长进行比较,得到目标时长;
将所述目标时长所对应的宿主机系统参数确定为所述宿主机在所述业务场景下的目标系统参数。
8.一种虚拟机性能的优化设备,其特征在于,所述虚拟机性能的优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟机性能的优化程序,所述虚拟机性能的优化程序配置有实现如权利要求1至7中任一项所述的虚拟机性能的优化方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有虚拟机性能的优化程序,所述虚拟机性能的优化程序被处理器执行时实现如权利要求1至7中任一项所述的虚拟机性能的优化方法的步骤。
CN202110159552.7A 2021-02-04 2021-02-04 虚拟机性能的优化方法、设备及存储介质 Active CN112882791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110159552.7A CN112882791B (zh) 2021-02-04 2021-02-04 虚拟机性能的优化方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110159552.7A CN112882791B (zh) 2021-02-04 2021-02-04 虚拟机性能的优化方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112882791A CN112882791A (zh) 2021-06-01
CN112882791B true CN112882791B (zh) 2024-04-09

Family

ID=76055711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110159552.7A Active CN112882791B (zh) 2021-02-04 2021-02-04 虚拟机性能的优化方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112882791B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273212A (zh) * 2017-06-23 2017-10-20 郑州云海信息技术有限公司 一种动态分配内存的方法及系统
CN109697090A (zh) * 2018-12-27 2019-04-30 Oppo广东移动通信有限公司 一种控制终端设备的方法、终端设备及存储介质
CN111651236A (zh) * 2020-05-11 2020-09-11 腾讯科技(深圳)有限公司 虚拟机内存优化处理方法及相关装置
CN111736950A (zh) * 2020-06-12 2020-10-02 广东浪潮大数据研究有限公司 一种虚拟机的加速器资源添加方法及相关装置
CN111796912A (zh) * 2020-07-09 2020-10-20 山东省计算中心(国家超级计算济南中心) 申威平台存储输入输出设备虚拟化性能优化方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2549773B (en) * 2016-04-28 2018-05-16 Metaswitch Networks Ltd Configuring host devices
WO2019178855A1 (zh) * 2018-03-23 2019-09-26 华为技术有限公司 一种虚拟机访问远端加速设备方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273212A (zh) * 2017-06-23 2017-10-20 郑州云海信息技术有限公司 一种动态分配内存的方法及系统
CN109697090A (zh) * 2018-12-27 2019-04-30 Oppo广东移动通信有限公司 一种控制终端设备的方法、终端设备及存储介质
CN111651236A (zh) * 2020-05-11 2020-09-11 腾讯科技(深圳)有限公司 虚拟机内存优化处理方法及相关装置
CN111736950A (zh) * 2020-06-12 2020-10-02 广东浪潮大数据研究有限公司 一种虚拟机的加速器资源添加方法及相关装置
CN111796912A (zh) * 2020-07-09 2020-10-20 山东省计算中心(国家超级计算济南中心) 申威平台存储输入输出设备虚拟化性能优化方法及系统

Also Published As

Publication number Publication date
CN112882791A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN109240576B (zh) 游戏中的图像处理方法及装置、电子设备、存储介质
CN109684118B (zh) 异常数据的检测方法、装置、设备及计算机可读存储介质
CN110598802B (zh) 一种内存检测模型训练的方法、内存检测的方法及装置
KR102201919B1 (ko) 랜덤 포레스트 모델의 훈련 방법, 전자장치 및 저장매체
CN110264274B (zh) 客群划分方法、模型生成方法、装置、设备及存储介质
US20180203684A1 (en) Staged application rollout
CN110929145A (zh) 舆情分析方法、装置、计算机装置及存储介质
CN111460384A (zh) 策略的评估方法、装置和设备
CN111160624B (zh) 一种用户意向预测方法、用户意向预测装置及终端设备
CN112506581A (zh) 渲染小程序的方法、装置、电子设备和可读存储介质
CN114091688B (zh) 一种计算资源获取方法、装置、电子设备和存储介质
CN113590007B (zh) 进度条的生成方法、生成装置、计算机设备及存储介质
CN109358927B (zh) 应用程序显示的方法、装置及终端设备
CN110959153B (zh) 使用灵活后处理的应用分析
CN110728306A (zh) 反向代理评价模型中目标参数选取方法及相关装置
CN112882791B (zh) 虚拟机性能的优化方法、设备及存储介质
CN110704614B (zh) 对应用中的用户群类型进行预测的信息处理方法及装置
CN111931106A (zh) 数据处理方法及相关装置
CN111783843A (zh) 一种特征选择方法、装置及计算机系统
CN113495841B (zh) 一种兼容性检测方法、装置、设备、存储介质及程序产品
CN112783574B (zh) 应用程序开发方法、装置、设备和存储介质
CN114416462A (zh) 一种机器行为识别方法及装置、电子设备、存储介质
CN114819095A (zh) 业务数据处理模型的生成方法、装置及电子设备
CN114240476A (zh) 异常用户确定方法、装置、设备及存储介质
CN113127284A (zh) 服务器压力测试方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant