CN109783221B - 一种虚拟机资源分配方法、装置及资源服务器 - Google Patents
一种虚拟机资源分配方法、装置及资源服务器 Download PDFInfo
- Publication number
- CN109783221B CN109783221B CN201711121306.2A CN201711121306A CN109783221B CN 109783221 B CN109783221 B CN 109783221B CN 201711121306 A CN201711121306 A CN 201711121306A CN 109783221 B CN109783221 B CN 109783221B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- tested
- service
- utilization rate
- memory
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种虚拟机资源分配方法、装置及资源服务器,其中,所述虚拟机资源分配方法包括:获取业务对虚拟机的性能需求信息,将所述业务部署到待测试虚拟机中,根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件,将所述修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。本发明的方案,能够实现可量化的资源分配方式,在满足业务需求的前提下为业务分配最优化的虚拟机资源,提高资源利用率。
Description
技术领域
本发明涉及虚拟机资源分配技术领域,尤其涉及一种虚拟机资源分配方法、装置及资源服务器。
背景技术
随着计算机技术的快速发展,云计算已得到快速发展和广泛应用。云计算是通过虚拟化技术将原本分散的物理计算机资源整合成巨大的资源池,为用户提供“取之不尽用之不竭”的计算资源。
当前,常用的虚拟机资源分配方法为:通过业务部门为业务申请的虚拟机类型,为业务创建虚拟机。例如,若业务部门为某业务申请的虚拟机类型为中央处理器(CPU,Central Processing Unit)的内核数量为M个,内存的大小为N GB,则云平台管理系统为该业务创建包含M个CPU内核以及N GB内存的虚拟机。
但是由于虚拟机类型的模板众多,仅仅依靠业务部门申请的虚拟机类型无法判断为业务创建的虚拟机的准确性能,因此现有的虚拟机资源分配方法常常不能最优化分配虚拟机资源。
发明内容
本发明实施例提供一种虚拟机资源分配方法、装置及资源服务器,以解决现有的虚拟机资源分配方法常常不能最优化分配虚拟机资源的问题。
第一方面,本发明实施例提供了一种虚拟机资源分配方法,包括:
获取业务对虚拟机的性能需求信息;
将所述业务部署到待测试虚拟机;
根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件;
将所述修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。
可选的,所述性能需求信息包括预设业务并发量和预设响应时间,所述根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件,包括:
根据所述预设业务并发量,对所述待测试虚拟机进行压力测试,得到压力测试结果,其中,所述压力测试结果包括所述业务的响应时间和所述待测试虚拟机中的目标对象的利用率;
判断所述业务的响应时间是否小于所述预设响应时间;
若所述业务的响应时间小于所述预设响应时间,判断所述目标对象的利用率是否大于或等于预设利用率阈值;
若所述目标对象的利用率小于所述预设利用率阈值,根据所述目标对象的利用率,确定目标参数的修正值;
根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机;
返回执行根据所述预设业务并发量,对所述修正后的待测试虚拟机进行压力测试,得到压力测试结果的步骤;
其中,当所述业务的响应时间大于或等于所述预设响应时间时,或者,当所述目标对象的利用率大于或等于所述预设利用率阈值时,确定所述待测试虚拟机的压力测试结果满足预设条件。
可选的,所述目标对象为CPU和/或内存。
可选的,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,所述根据所述目标对象的利用率,确定目标参数的修正值,包括:
利用如下公式,确定所述CPU的内核数量的修正值;
N1=(M1+M1×r1%)/2;
其中,N1表示所述CPU的内核数量的修正值,M1表示当前所述CPU的内核数量,r1%表示所述CPU的利用率。
可选的,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,所述根据所述目标对象的利用率,确定目标参数的修正值,包括:
利用如下公式,确定所述内存的大小的修正值;
N2=(M2+M2×r2%)/2;
其中,N2表示所述内存的大小的修正值,M2表示当前所述内存的大小,r2%表示所述内存的利用率。
可选的,当所述目标对象为CPU时,所述目标参数为所述CPU的内核数量,若所述CPU的内核数量的修正值为N1,所述根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机,包括:
通过所述资源预留模块的while循环进程占用所述CPU的N1个内核,以修正所述CPU的内核数量,得到修正后的待测试虚拟机。
可选的,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,若所述内存的大小的修正值为N2 GB,所述根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机,包括:
通过所述资源预留模块复制的N2 GB字符占用所述内存,以修正所述内存的大小,得到修正后的待测试虚拟机。
第二方面,本发明实施例还提供了一种虚拟机资源分配装置,包括:
获取模块,用于获取业务对虚拟机的性能需求信息;
部署模块,用于将所述业务部署到待测试虚拟机;
性能测试及评估模块,用于根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件;
推荐模块,用于将所述修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。
可选的,所述性能需求信息包括预设业务并发量和预设响应时间,所述性能测试及评估模块包括:
压力测试单元,用于根据所述预设业务并发量,对所述待测试虚拟机进行压力测试,得到压力测试结果,其中,所述压力测试结果包括所述业务的响应时间和所述待测试虚拟机中的目标对象的利用率;
第一判断单元,用于判断所述业务的响应时间是否小于所述预设响应时间;
第二判断单元,用于当所述业务的响应时间小于所述预设响应时间时,判断所述目标对象的利用率是否大于或等于预设利用率阈值;
确定单元,用于当所述目标对象的利用率小于所述预设利用率阈值时,根据所述目标对象的利用率,确定目标参数的修正值;
修正单元,用于根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机;
控制单元,用于控制所述压力测试单元根据所述预设业务并发量,对所述修正后的待测试虚拟机进行压力测试,得到压力测试结果;
其中,当所述业务的响应时间大于或等于所述预设响应时间时,或者,当所述目标对象的利用率大于或等于所述预设利用率阈值时,确定所述待测试虚拟机的压力测试结果满足预设条件。
可选的,所述目标对象为CPU和/或内存。
可选的,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,所述确定单元具体用于:
利用如下公式,确定所述CPU的内核数量的修正值;
N1=(M1+M1×r1%)/2;
其中,N1表示所述CPU的内核数量的修正值,M1表示当前所述CPU的内核数量,r1%表示所述CPU的利用率。
可选的,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,所述确定单元具体用于:
利用如下公式,确定所述内存的大小的修正值;
N2=(M2+M2×r2%)/2;
其中,N2表示所述内存的大小的修正值,M2表示当前所述内存的大小,r2%表示所述内存的利用率。
可选的,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,若所述CPU的内核数量的修正值为N1,所述修正单元具体用于:
通过所述资源预留模块的while循环进程占用所述CPU的N1个内核,以修正所述CPU的内核数量,得到修正后的待测试虚拟机。
可选的,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,若所述内存的大小的修正值为N2 GB,所述修正单元具体用于:
通过所述资源预留模块复制的N2 GB字符占用所述内存,以修正所述内存的大小,得到修正后的待测试虚拟机。
第三方面,本发明实施例还提供了一种资源服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器执行时实现上述虚拟机资源分配方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被所述处理器执行时实现上述虚拟机资源分配方法的步骤。
在本发明实施例中,通过获取业务对虚拟机的性能需求信息,将业务部署到待测试虚拟机,根据性能需求信息,循环对待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件,将修正后的待测试虚拟机作为业务的目标虚拟机进行推荐,能够针对业务对虚拟机的性能需求信息,借助不断对待测试虚拟机进行的压力测试和修正,得到满足要求的目标虚拟机,从而实现可量化的资源分配方式,在满足业务需求的前提下为业务分配最优化的虚拟机资源,提高资源利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的虚拟机资源分配方法的流程图;
图2为本发明实施例的压力测试和修正过程的流程图;
图3为本发明实施例的虚拟机资源分配装置的结构示意图之一;
图4为本发明实施例的虚拟机资源分配装置的结构示意图之二;
图5为本发明实施例的资源服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,本发明实施例提供了一种虚拟机资源分配方法,应用于资源服务器,包括如下步骤:
步骤101:获取业务对虚拟机的性能需求信息。
其中,性能需求信息至少包括预设业务并发量和预设响应时间。预设业务并发量可基于业务系统的最大用户并发数预先设置,预设响应时间可基于业务系统所要求的最大响应时间预先设置。
步骤102:将业务部署到待测试虚拟机中。
通常,为完成业务,可能需要多个虚拟机协同工作。因此当将业务部署到待测试虚拟机中时,可以是分别将业务部署到多个待测试虚拟机中,然后针对每一个待测试虚拟机进行压力测试和修正,直至待测试虚拟机满足要求。应说明的是,为了获取与业务最匹配的虚拟机类型,初始的待测试虚拟机通常为资源池内最大规格虚拟机,例如32核64G。
步骤103:根据性能需求信息,循环对待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件。
其中,对待测试虚拟机进行的压力测试可由部署在待测试虚拟机中的压力测试工具完成。在对待测试虚拟机进行压力测试时,可首先启动业务和压力测试工具中的压测程序,以完成相应的压力测试。对待测试虚拟机进行的修正可由部署在待测试虚拟机中的资源预留模块(或称为资源保留模块、虚拟机模拟器)完成,即通过资源预留模块消耗一定比例虚拟机资源,来模拟实现一个新的修正后的待测试虚拟机。
步骤104:将修正后的待测试虚拟机作为业务的目标虚拟机进行推荐。
这样,在获得满足要求的修正后的待测试虚拟机后,资源服务器可将修正后的待测试虚拟机作为业务的目标虚拟机推荐给业务部门或者云平台管理部门,以为业务分配最优化的虚拟机资源。
本发明实施例的虚拟机资源分配方法,通过获取业务对虚拟机的性能需求信息,将业务部署到待测试虚拟机,根据性能需求信息,循环对待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件,将修正后的待测试虚拟机作为业务的目标虚拟机进行推荐,能够针对业务对虚拟机的性能需求信息,借助不断对待测试虚拟机进行的压力测试和修正,得到满足要求的目标虚拟机,从而实现可量化的资源分配方式,在满足业务需求的前提下为业务分配最优化的虚拟机资源,提高资源利用率。
现有技术中,云平台管理系统在为某业务创建包含M个CPU内核以及N GB内存的虚拟机后,若测试发现该业务运行在该虚拟机上后资源利用率很低,甚至不足10%,则意味着该虚拟机并不是该业务最优的选择。为了找到适合该业务的虚拟机,云平台管理系统需重新为该业务创建虚拟机,并将该业务部署到新创建的虚拟机中进行测试,且最多需要M×N次业务部署以及M×N次性能测试,虚拟机性能测试周期长,因此找到合适虚拟机的工作量巨大。
而本发明实施例的虚拟机资源分配方法,通过智能模拟各种类型(规格)的虚拟机,即循环修正待测试虚拟机,无需业务重复部署在各类型虚拟机中,即可智能选择与业务最适配的虚拟机资源,从而简化工作量,提高业务部门的工作效率。
本发明实施例中,参见图2所示,资源服务器根据性能需求信息,循环对待测试虚拟机进行压力测试和修正的过程可包括如下步骤:
步骤201:根据预设业务并发量,对待测试虚拟机进行压力测试,得到压力测试结果。
其中,该压力测试结果可包括业务的响应时间和待测试虚拟机中的目标对象的利用率。初始的待测试虚拟机为资源池内最大规格虚拟机。待测试虚拟机中的目标对象可为CPU和/或内存。
步骤202:判断业务的响应时间是否小于预设响应时间;若判断得到业务的响应时间小于预设响应时间,则执行步骤203,否则测试结束,执行步骤206。
步骤203:判断目标对象的利用率是否大于或等于预设利用率阈值;若判断得到目标对象的利用率小于预设利用率阈值,则执行步骤204,否则测试结束,执行步骤206。
步骤204:根据目标对象的利用率,确定目标参数的修正值。
其中,目标参数与目标对象相关。当目标对象为CPU时,目标参数为CPU的内核数量;当目标对象为内存时,目标参数为内存的大小。
步骤205:根据目标参数的修正值,通过资源预留模块修正目标参数,得到修正后的待测试虚拟机。
需指出的是,步骤205之后,返回执行步骤201,即根据预设业务并发量,对修正后的待测试虚拟机进行压力测试,得到压力测试结果。
步骤206:确定当前待测试虚拟机的压力测试结果满足预设条件。当前待测试虚拟机即为智能推荐的目标虚拟机。
这样,可循环对待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件。
进一步的,本发明实施例中,待测试虚拟机中的目标对象具体为CPU和/或内存。
其中,当目标对象为CPU时,目标参数为CPU的内核数量,所述根据目标对象的利用率,确定目标参数的修正值的过程可为:
利用如下公式,确定CPU的内核数量的修正值;
N1=(M1+M1×r1%)/2;
其中,N1表示CPU的内核数量的修正值,M1表示当前CPU的内核数量,r1%表示CPU的利用率,即CPU内核的平均利用率。
当目标对象为内存时,目标参数为内存的大小,所述根据目标对象的利用率,确定目标参数的修正值的过程可为:
利用如下公式,确定内存的大小的修正值;
N2=(M2+M2×r2%)/2;
其中,N2表示内存的大小的修正值,M2表示当前内存的大小,r2%表示内存的利用率,即内存的平均利用率。
进一步的,本发明实施例中,当目标对象为CPU时,目标参数为CPU的内核数量,若CPU的内核数量的修正值为N1,所述根据目标参数的修正值,通过资源预留模块修正目标参数,得到修正后的待测试虚拟机的过程可为:
通过资源预留模块的while循环进程占用CPU的N1个内核,使该N1个内核的利用率为100%,且用taskset绑定while循环进程于CPU内核上,以修正CPU的内核数量,得到修正后的待测试虚拟机。
当目标对象为内存时,目标参数为内存的大小,若内存的大小的修正值为N2 GB,所述根据目标参数的修正值,通过资源预留模块修正目标参数,得到修正后的待测试虚拟机的过程可为:
通过资源预留模块复制的N2 GB字符占用内存,以修正内存的大小,得到修正后的待测试虚拟机。
上述实施例对本发明的虚拟机资源分配方法进行了说明,下面将结合实施例和附图对本发明的虚拟机资源分配装置进行说明。
参见图3所示,本发明实施例还提供了一种虚拟机资源分配装置,应用于资源服务器,包括:
获取模块31,用于获取业务对虚拟机的性能需求信息,其中,所述性能需求信息包括预设业务并发量和预设响应时间;
部署模块32,用于将所述业务部署到待测试虚拟机;
性能测试及评估模块33,用于根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件;
推荐模块34,用于将所述修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。
本发明实施例的虚拟机资源分配装置,通过获取业务对虚拟机的性能需求信息,将业务部署到待测试虚拟机,根据性能需求信息,循环对待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件,将修正后的待测试虚拟机作为业务的目标虚拟机进行推荐,能够针对业务对虚拟机的性能需求信息,借助不断对待测试虚拟机进行的压力测试和修正,得到满足要求的目标虚拟机,从而实现可量化的资源分配方式,在满足业务需求的前提下为业务分配最优化的虚拟机资源,提高资源利用率。
本发明实施例中,可选的,参见图4所示,所述性能测试及评估模块33可包括:
压力测试单元331,用于根据所述预设业务并发量,对所述待测试虚拟机进行压力测试,得到压力测试结果,其中,所述压力测试结果包括所述业务的响应时间和所述待测试虚拟机中的目标对象的利用率;
第一判断单元332,用于判断所述业务的响应时间是否小于所述预设响应时间;
第二判断单元333,用于当所述业务的响应时间小于所述预设响应时间时,判断所述目标对象的利用率是否大于或等于预设利用率阈值;
确定单元334,用于当所述目标对象的利用率小于所述预设利用率阈值时,根据所述目标对象的利用率,确定目标参数的修正值;
修正单元335,用于根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机;
控制单元336,用于控制所述压力测试单元331根据所述预设业务并发量,对所述修正后的待测试虚拟机进行压力测试,得到压力测试结果;
其中,当所述业务的响应时间大于或等于所述预设响应时间时,或者,当所述目标对象的利用率大于或等于所述预设利用率阈值时,确定所述待测试虚拟机的压力测试结果满足预设条件。
可选的,所述目标对象为CPU和/或内存。
可选的,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,所述确定单元334具体用于:
利用如下公式,确定所述CPU的内核数量的修正值;
N1=(M1+M1×r1%)/2;
其中,N1表示所述CPU的内核数量的修正值,M1表示当前所述CPU的内核数量,r1%表示所述CPU的利用率。
可选的,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,所述确定单元334具体用于:
利用如下公式,确定所述内存的大小的修正值;
N2=(M2+M2×r2%)/2;
其中,N2表示所述内存的大小的修正值,M2表示当前所述内存的大小,r2%表示所述内存的利用率。
可选的,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,若所述CPU的内核数量的修正值为N1,所述修正单元335具体用于:
通过所述资源预留模块的while循环进程占用所述CPU的N1个内核,以修正所述CPU的内核数量,得到修正后的待测试虚拟机。
可选的,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,若所述内存的大小的修正值为N2 GB,所述修正单元335具体用于:
通过所述资源预留模块复制的N2 GB字符占用所述内存,以修正所述内存的大小,得到修正后的待测试虚拟机。
此外,本发明实施例还提供了一种资源服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器执行时可实现上述虚拟机资源分配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图5所示,本发明实施例还提供了一种资源服务器,包括总线51、收发机52、天线53、总线接口54、处理器55和存储器56。
在本发明实施例中,所述资源服务器还包括:存储在存储器56上并可在处理器55上运行的计算机程序,其中,所述计算机程序被处理器55执行时可实现如下步骤:
获取业务对虚拟机的性能需求信息;
将所述业务部署到待测试虚拟机中;
根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件;
将所述修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。
在图5中,总线架构(用总线51来代表),总线51可以包括任意数量的互联的总线和桥,总线51将包括由处理器55代表的一个或多个处理器和存储器56代表的存储器的各种电路链接在一起。总线51还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口54在总线51和收发机52之间提供接口。收发机52可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器55处理的数据通过天线53在无线介质上进行传输,进一步,天线53还接收数据并将数据传送给处理器55。
处理器55负责管理总线51和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器56可以被用于存储处理器55在执行操作时所使用的数据。
可选的,处理器55可以是CPU、ASIC、FPGA或CPLD。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述虚拟机资源分配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟机资源分配方法,其特征在于,包括:
获取业务对虚拟机的性能需求信息;
将所述业务部署到待测试虚拟机中;
根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件,包括:
根据预设业务并发量,对所述待测试虚拟机进行压力测试,得到压力测试结果,其中,所述压力测试结果包括所述业务的响应时间和所述待测试虚拟机中的目标对象的利用率;
判断所述业务的响应时间是否小于预设响应时间;
若所述业务的响应时间小于所述预设响应时间,判断所述目标对象的利用率是否大于或等于预设利用率阈值;
若所述目标对象的利用率小于所述预设利用率阈值,根据所述目标对象的利用率,确定目标参数的修正值;
根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机;
返回执行根据所述预设业务并发量,对所述修正后的待测试虚拟机进行压力测试,得到压力测试结果的步骤;
将压力测试结果满足预设条件的修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。
2.根据权利要求1所述的方法,其特征在于,当所述业务的响应时间大于或等于所述预设响应时间时,或者,当所述目标对象的利用率大于或等于所述预设利用率阈值时,确定所述待测试虚拟机的压力测试结果满足预设条件。
3.根据权利要求1所述的方法,其特征在于,所述目标对象为中央处理器CPU和/或内存。
4.根据权利要求3所述的方法,其特征在于,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,所述根据所述目标对象的利用率,确定目标参数的修正值,包括:
利用如下公式,确定所述CPU的内核数量的修正值;
N1=(M1+M1×r1%)/2;
其中,N1表示所述CPU的内核数量的修正值,M1表示当前所述CPU的内核数量,r1%表示所述CPU的利用率。
5.根据权利要求3所述的方法,其特征在于,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,所述根据所述目标对象的利用率,确定目标参数的修正值,包括:
利用如下公式,确定所述内存的大小的修正值:
N2=(M2+M2×r2%)/2;
其中,N2表示所述内存的大小的修正值,M2表示当前所述内存的大小,r2%表示所述内存的利用率。
6.根据权利要求3所述的方法,其特征在于,当所述目标对象为所述CPU时,所述目标参数为所述CPU的内核数量,若所述CPU的内核数量的修正值为N1,所述根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机,包括:
通过所述资源预留模块的while循环进程占用所述CPU的N1个内核,以修正所述CPU的内核数量,得到修正后的待测试虚拟机。
7.根据权利要求3所述的方法,其特征在于,当所述目标对象为所述内存时,所述目标参数为所述内存的大小,若所述内存的大小的修正值为N2 GB,所述根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机,包括:
通过所述资源预留模块复制的N2 GB字符占用所述内存,以修正所述内存的大小,得到修正后的待测试虚拟机。
8.一种虚拟机资源分配装置,其特征在于,包括:
获取模块,用于获取业务对虚拟机的性能需求信息;
部署模块,用于将所述业务部署到待测试虚拟机;
性能测试及评估模块,用于根据所述性能需求信息,循环对所述待测试虚拟机进行压力测试和修正,直至修正后的待测试虚拟机的压力测试结果满足预设条件;其中,根据预设业务并发量,对所述待测试虚拟机进行压力测试,得到压力测试结果,其中,所述压力测试结果包括所述业务的响应时间和所述待测试虚拟机中的目标对象的利用率;判断所述业务的响应时间是否小于预设响应时间;若所述业务的响应时间小于所述预设响应时间,判断所述目标对象的利用率是否大于或等于预设利用率阈值;若所述目标对象的利用率小于所述预设利用率阈值,根据所述目标对象的利用率,确定目标参数的修正值;根据所述目标参数的修正值,通过资源预留模块修正所述目标参数,得到修正后的待测试虚拟机;返回执行根据所述预设业务并发量,对所述修正后的待测试虚拟机进行压力测试,得到压力测试结果的功能;
推荐模块,用于将压力测试结果满足预设条件的修正后的待测试虚拟机作为所述业务的目标虚拟机进行推荐。
9.一种资源服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的虚拟机资源分配方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的虚拟机资源分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711121306.2A CN109783221B (zh) | 2017-11-14 | 2017-11-14 | 一种虚拟机资源分配方法、装置及资源服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711121306.2A CN109783221B (zh) | 2017-11-14 | 2017-11-14 | 一种虚拟机资源分配方法、装置及资源服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783221A CN109783221A (zh) | 2019-05-21 |
CN109783221B true CN109783221B (zh) | 2020-12-29 |
Family
ID=66494066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711121306.2A Active CN109783221B (zh) | 2017-11-14 | 2017-11-14 | 一种虚拟机资源分配方法、装置及资源服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783221B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865644B (zh) * | 2019-12-04 | 2023-04-07 | 北京小桔科技有限公司 | 一种计算资源的推荐方法、装置、电子设备及存储介质 |
CN113032101B (zh) * | 2021-03-31 | 2023-12-29 | 深信服科技股份有限公司 | 虚拟机的资源分配方法、服务器及计算机可读存储介质 |
CN115102913B (zh) * | 2022-06-06 | 2024-01-09 | 深圳一粒云科技有限公司 | 基于用户行为的云桌面资源配置方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186412A (zh) * | 2011-12-31 | 2013-07-03 | 北京新媒传信科技有限公司 | 基于jvm服务器的性能优化方法 |
CN103377124A (zh) * | 2012-04-25 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种测试方法及装置 |
CN103885812A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 虚拟机规格调整方法及装置 |
CN105227344A (zh) * | 2015-08-21 | 2016-01-06 | 武汉烽火网络有限责任公司 | 基于OpenStack的软件定义网络模拟系统及方法 |
CN105446846A (zh) * | 2015-11-30 | 2016-03-30 | 中电科华云信息技术有限公司 | 基于云桌面的性能测试方法 |
WO2016095162A1 (zh) * | 2014-12-18 | 2016-06-23 | 华为技术有限公司 | 一种确定虚拟机数量调整操作的装置和方法 |
CN105848176A (zh) * | 2015-01-14 | 2016-08-10 | 中国移动通信集团河北有限公司 | 一种性能测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6672808B2 (ja) * | 2016-01-13 | 2020-03-25 | 富士通株式会社 | 情報処理装置、実行時間補正方法、および実行時間補正プログラム |
-
2017
- 2017-11-14 CN CN201711121306.2A patent/CN109783221B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186412A (zh) * | 2011-12-31 | 2013-07-03 | 北京新媒传信科技有限公司 | 基于jvm服务器的性能优化方法 |
CN103377124A (zh) * | 2012-04-25 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种测试方法及装置 |
CN103885812A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 虚拟机规格调整方法及装置 |
WO2016095162A1 (zh) * | 2014-12-18 | 2016-06-23 | 华为技术有限公司 | 一种确定虚拟机数量调整操作的装置和方法 |
CN105848176A (zh) * | 2015-01-14 | 2016-08-10 | 中国移动通信集团河北有限公司 | 一种性能测试方法及装置 |
CN105227344A (zh) * | 2015-08-21 | 2016-01-06 | 武汉烽火网络有限责任公司 | 基于OpenStack的软件定义网络模拟系统及方法 |
CN105446846A (zh) * | 2015-11-30 | 2016-03-30 | 中电科华云信息技术有限公司 | 基于云桌面的性能测试方法 |
Non-Patent Citations (1)
Title |
---|
云计算环境下的虚拟机资源分配;余沛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20141115;I139-78 * |
Also Published As
Publication number | Publication date |
---|---|
CN109783221A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325195B (zh) | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 | |
CN109783221B (zh) | 一种虚拟机资源分配方法、装置及资源服务器 | |
CN108255707B (zh) | 测试用例的开发角色创建方法、装置、设备及存储介质 | |
WO2016165470A1 (zh) | Vnf实例的处理方法、装置及vnfm | |
CN107766194A (zh) | 测试方法、装置、系统、终端设备及计算机可读存储介质 | |
CN106886434B (zh) | 一种分布式应用安装方法与装置 | |
US20150277944A1 (en) | Method and Apparatus for Allocating a Virtual Machine | |
CN107957888B (zh) | 应用程序的灰度升级方法及装置 | |
CN105760230B (zh) | 一种自动调整云主机运行的方法及装置 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
WO2018086467A1 (zh) | 一种云环境下应用集群资源分配的方法、装置和系统 | |
CN103577207A (zh) | 一种自定义界面系统中界面组件的加载方法和装置 | |
CN108829510B (zh) | 线程绑定处理方法和装置 | |
US20170329645A1 (en) | Apparatus and method for adding nodes to a computing cluster | |
CN104243531A (zh) | 一种数据处理的方法、装置及系统 | |
CN115827253A (zh) | 一种芯片资源算力分配方法、装置、设备及存储介质 | |
CN109194626A (zh) | 基于区块链的数据上链判断方法 | |
US20230367936A1 (en) | Verification method, electronic device and storage medium | |
CN106919450B (zh) | 资源调整方法和装置 | |
CN105677456B (zh) | 一种进程信息的写方法及用户设备 | |
CN110968333B (zh) | 配置信息替换方法和装置、机器可读存储介质及处理器 | |
CN105094742A (zh) | 一种写数据的方法和设备 | |
CN108601027B (zh) | 频谱资源分配方法、装置、计算机设备和存储介质 | |
CN113791766B (zh) | 组合数据接口的方法、电子设备和可读存储介质 | |
CN116954878A (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 |