CN102662836A - 一种虚拟机评测系统及方法 - Google Patents
一种虚拟机评测系统及方法 Download PDFInfo
- Publication number
- CN102662836A CN102662836A CN2012100853132A CN201210085313A CN102662836A CN 102662836 A CN102662836 A CN 102662836A CN 2012100853132 A CN2012100853132 A CN 2012100853132A CN 201210085313 A CN201210085313 A CN 201210085313A CN 102662836 A CN102662836 A CN 102662836A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- test
- difference
- write
- module
- 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.)
- Granted
Links
Images
Abstract
本发明涉及一种虚拟机评测系统及方法,该虚拟机评测系统包括测试模板模块、系统软硬件配置自动收集模块、系统自动化测试模块、系统自学习分析推荐模块以及系统测评信息中心;其中,测试模板模块用于提供评测用的测试模板;系统软硬件配置自动收集模块收集被测试系统的配置信息;系统自动化测试模块在收到所述配置信息后,根据测试模板进行相关的测试;系统自学习分析推荐模块对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;系统测评信息中心用于保存最优的虚拟机数量部署方案以及性能评测结果。
Description
技术领域
本发明涉及计算机领域,特别涉及一种虚拟机评测系统及方法。
背景技术
随着虚拟化技术日益广泛的使用,各种云计算解决方案层出不穷,如公有云、私有云以及桌面虚拟化等解决方案,针对虚拟机本身性能的评测显得越发重要。本领域技术人员在虚拟机之上提出各种解决方案的同时,也需要对虚拟机本身的性能进行一个严格全面的测试。
现有技术中已经存在一些用于对虚拟机性能进行评测的工具,这些工具能够在某一方面对虚拟机性能进行相关的测试,但是同时它们也都有一些局限性。例如,Autotest是一款具有系统评测功能的工具,其中也自带了虚拟机的测试模块,它能够提供针对虚拟机的单元测试以及功能测试,同时它还提供了一些其他的开源工具来帮助进行虚拟机的性能评测。但这个工具也有一些缺点,如它在部署安装时比较麻烦,且测试过程中需要人为干预的因素过多,同时不具有自学习功能,也无法给出推荐的合理方案。又如,Bonnie++是一款磁盘测试工具,它可以用来对虚拟机的磁盘性能进行各个组合方案的测试;Netperf是一款网络性能测试工具,它可以用来对虚拟机的网络性能方面进行各种组合方案测试,但是这两个工具都无法全面覆盖虚拟机的测试,测试的覆盖面比较窄,有很大的局限性。
综上所述,目前已有的虚拟机测试工具在易于部署、全面覆盖、自动化、自学习等方面都存在一些问题。
发明内容
本发明的目的在于克服现有的虚拟机测试工具不易部署,覆盖不全面,自动化程度低,自学习能力差等缺陷,从而提供一种高效、全面、自学习能力强的虚拟机评测系统及相应的方法。
为了实现上述目的,本发明提供了一种虚拟机评测系统,包括测试模板模块、系统软硬件配置自动收集模块、系统自动化测试模块、系统自学习分析推荐模块以及系统测评信息中心;其中,
所述的测试模板模块用于提供评测用的测试模板;所述的系统软硬件配置自动收集模块收集被测试系统的配置信息;所述的系统自动化测试模块在收到所述配置信息后,根据所述测试模板进行相关的测试;所述系统自学习分析推荐模块对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;所述系统测评信息中心用于保存所述的最优的虚拟机数量部署方案以及性能评测结果。
上述技术方案中,所述测试模板模块包括一向用户提供用于定制测试模板的接口,通过该接口用户能够生成自定义的测试模板。
上述技术方案中,所述系统自动化测试模块收到所述系统软硬件配置自动收集模块所提供的系统配置信息以及所述测试模板模块所提供的测试模板信息后,根据当前配置信息以及测试模板参数信息设置被测试虚拟机的数量上限,然后依次启动虚拟机分别进行虚拟机并发测试以及隔离测试,直到虚拟机启动数量达到所述的数量上限结束。
上述技术方案中,所述系统自学习分析推荐模块分别计算所部署的虚拟机数量在小于或等于被测试虚拟机的数量上限n的多种情况下,被测试系统在运行时所要花费的代价,代价最小情况下的虚拟机数量k就是所要求取的被评测系统的最优的虚拟机数量部署方案。
本发明还提供了一种应用于所述的虚拟机评测系统上的虚拟机评测方法,包括:
步骤1)、选取评测用的测试模板;
步骤2)、收集被测试系统的配置信息;
步骤3)、根据所述测试模板以及所述配置信息对被测试系统进行测试;
步骤4)、对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;
步骤5)、保存所述的最优的虚拟机数量部署方案以及性能评测结果。
上述技术方案中,所述的步骤4)包括:
步骤4-1)、已知根据测试模板以及物理机的系统配置所设定的虚拟机理论最大数量n,在满足小于或等于n的条件下,k取不同的值,分别依次执行后续的步骤4-2)-步骤4-4);
步骤4-2)、根据k个虚拟机的磁盘读写IO数据,计算k个虚拟机磁盘读写吞吐量总和与k-1个虚拟机磁盘读写吞吐量总和之差ΔSDk,以及k个虚拟机磁盘读写差值平均值与k-1个虚拟机磁盘读写差值平均值的差值ΔΦDk;
步骤4-3)、根据k个虚拟机的网络吞吐量,计算k个虚拟机网络吞吐量总和与k-1个虚拟机网络吞吐量总和之差ΔSNk,以及k个虚拟机的网络吞吐量差值平均值与k-1个虚拟机网络吞吐量差值平均值之间的差值ΔΦNk;
步骤4-4)、根据k个虚拟机的CPU使用时间,计算k个虚拟机CPU使用时间总和与k-1个虚拟机CPU使用时间总和之差ΔSCk,以及k个虚拟机的CPU使用时间相互之间差值的平均值与k-1个虚拟机的CPU使用时间相互之间差值的平均值的差ΔΦCk;
步骤4-5)、根据k在不同取值下,计算得到的ΔSDk、ΔSNk、SCk、ΔΦDk、ΔΦNk、ΔΦCk的大小,求出Min值,选取其中最小的值所对应的k的大小作为最优解;
Min=aΔSDk+bΔSNk+cΔSCk+dΔΦk;
其中,ΔΦk值由ΔΦDk、ΔΦNk以及ΔΦCk求和后确定;a、b、c、d为整个模型的影响因子,其大小能够根据实际的测试数据逐次调整。
上述技术方案中,所述的步骤4-2)包括:
步骤4-2-1)、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的磁盘读写IO数据Di,其中Di表示第i个虚拟机的磁盘读写IO;
步骤4-2-2)、计算在各个测试周期内,已启动的各个虚拟机的总的磁盘读写IO数据SDk;
步骤4-2-3)、计算k个虚拟机磁盘读写吞吐量总和与k-1个虚拟机磁盘读写吞吐量总和之差ΔSDk;
步骤4-2-4)、对步骤4-2-1)中得到的k个虚拟机同时读写的磁盘吞吐量相互差值取平均,得到ΦDk;
步骤4-2-5)、对步骤4-2-4)得到的k个虚拟机磁盘读写差值平均值与k-1个虚拟机磁盘读写差值平均值求差,得到ΔΦDk。
上述技术方案中,所述的步骤4-3)包括:
步骤4-3-1)、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的网络吞吐量Ni,其中Ni表示第i个虚拟机的网络IO;
步骤4-3-2)、计算在各个测试周期内,已启动的各个虚拟机的网络吞吐量总和SNk;
步骤4-3-3)、计算k个虚拟机网络吞吐量总和与k-1个虚拟机网络吞吐量总和之差ΔSNk;
步骤4-3-4)、对步骤4-3-1)中得到的k个虚拟机同时读写的网络吞吐量相互差值取平均,得到网络吞吐量差值平均值ΦNk;
步骤4-3-5)、为k个虚拟机的网络吞吐量差值平均值与k-1个虚拟机网络吞吐量差值平均值求差,得到ΔΦNk。
上述技术方案中,所述的步骤4-4)包括:
步骤4-4-1)、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的CPU使用时间Ci;
步骤4-4-2)、计算在各个测试周期内,已启动的各个虚拟机的CPU使用时间总和SCk;
步骤4-4-3)、计算k个虚拟机CPU使用时间总和与k-1个虚拟机CPU使用时间总和之差ΔSCk;
步骤4-4-4)、对步骤4-4-1)中得到的k个虚拟机的CPU使用时间相互之间的差值取平均,得到ΦCk;
步骤4-4-5)、对步骤4-4-4)得到的为k个虚拟机的CPU使用时间相互之间差值的平均值与k-1个虚拟机的CPU使用时间相互之间差值的平均值再求差,得到ΔΦCk。
本发明的优点在于:
1、本发明能够自动地对虚拟机性能进行评测,给出最佳的虚拟机部署方案,效率高,自学习能力强。
2、本发明能够根据用户的需要评测虚拟机某一方面的性能指标,评测过程灵活、全面。
3、整个评测过程无需人工干预,成本低,所有评测在数据中心集中管理,便于后续同类硬件产品进行类比参考。
附图说明
图1为本发明的虚拟机评测系统的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的说明。
在对本发明的评测系统做详细说明前,首先对本发明中所涉及的相关概念进行说明。
虚拟机:是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
物理机:是相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境,虚拟机在物理机上实现。
随着计算机硬件技术的高速发展,一台物理机上可以安装有多台虚拟机。虚拟机的安装数量与物理机硬件资源的利用效率有着密切的关系。若一台物理上安装的虚拟机的数量过少,那么物理机的硬件资源会被闲置,若一台物理机上安装的虚拟机的数量过多,那么每台虚拟机所能被分配的硬件资源将极为有限,无法满足自身的需求。
本发明的虚拟机评测系统用于对安装在一台物理机上的虚拟机进行性能评测,从而为虚拟机在物理机上的部署提供帮助。图1为本发明的虚拟机评测系统的示意图,如图所示,该评测系统包括测试模板模块、系统软硬件配置自动收集模块、系统自动化测试模块、系统自学习分析推荐模块以及系统测评信息中心。其中,所述的测试模板模块用于提供评测用的测试模板;所述的系统软硬件配置自动收集模块收集被测试系统的配置信息;所述的系统自动化测试模块在收到配置信息后,根据所述测试模板进行相关的测试;所述系统自学习分析推荐模块对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;所述系统测评信息中心用于保存所述的最优的虚拟机数量部署方案以及性能评测结果。
下面对所述评测系统中的各个模块的功能做进一步的说明。
所述测试模板模块用于提供评测用的测试模板,所述测试模板描述了所要测试的对象。在表1中给出了一个测试模板的范例,在该测试模板中,需要对虚拟机的处理器的性能、内存的使用率、网卡类型、硬盘格式、网卡驱动、硬盘大小等内容进行测试。在其他实施例中,所述测试模板也可包含其他方面的内容。
处理器的性能 | 内存的使用率 | 网卡类型 | 硬盘格式 | 网卡驱动 | 硬盘大小 |
表1
所述测试模板模块可直接向用户提供保存在该模块内的已有的测试模板,也能够向用户提供用于定制测试模板的接口,利用该接口用户可生成自定义的测试模板,从而自行设定测试时所要测试的内容。所述用于定制测试模板的接口可通过Web或XML方式定制测试模板中的信息。用户自行定义测试模板后,所述自定义测试模板通常也被保存所述测试模板模块中。
测试模板模块中的已有的测试模板与用户自行定义的测试模板之间可设定优先级,如将用户自行定义的测试模板的优先级定义地较高,将已有的测试模板定义地较低。通过这一优先级的设定,若用户未自行定义测试模板,则所述测试模板模块默认使用已有的测试模板进行测试,若用户自定义了测试模板,则所述测试模板模块采用自行定义的测试模板进行测试。
所述系统软硬件配置自动收集模块会采集与所要评测的虚拟机系统有关的物理机系统的软硬件配置信息。在本实施例中,所要采集的硬件配置信息包括处理器信息、内存信息、网卡信息以及硬盘信息,而所要采集的软件配置信息包括操作系统信息、虚拟机信息(如操作系统的内核版本)、物理机的操作系统内核版本等。所述系统软硬件配置自动收集模块通过操作系统本身所提供的命令实现对配置信息的自动采集。系统软硬件配置自动收集模块所采集到的软硬件配置信息会保存在系统测评信息中心加以备份,同时还要传输到所述的系统自动化测试模块。
所述系统自动化测试模块收到系统软硬件配置自动收集模块所提供的系统配置信息以及测试模板模块所提供的测试模板信息后,它会自动根据当前配置信息以及测试模板参数信息设置被测试虚拟机的数量上限,然后依次启动虚拟机分别进行虚拟机并发以及隔离测试,这些测试直到虚拟机启动数量达到之前设置的上限结束,每次测试过程中的数据都被自动保存。
所述的虚拟机并发测试是指同时运行多个虚拟机并且在每个虚拟机上运行相同的测试项目;所述的虚拟机隔离测试是指在某一虚拟机上运行相关的测试程序,并启动其他多个虚拟机,以考察这些虚拟机对运行测试程序的虚拟机的测试性能是否产生影响。在虚拟机并发测试与隔离测试中,所要测量的虚拟机的性能指标有多个,如虚拟机中处理器的性能指标、内存的性能指标、硬盘IO的性能指标、网络IO的性能指标。对上述各个性能指标的测试可以采用多种方法,如在测试处理器的性能时,可以通过测试大文件的压缩解压缩处理器执行时间以及内核编译处理器执行时间来实现;在测试硬盘IO时,可以通过对硬盘做顺序大文件字节读写测试、顺序大文件块读写测试、无序大文件字节读写测试、无序大文件块读写测试的方式实现;在测试网络IO时,可以通过TCP批量网络流量的性能测试、UDP批量网络流量的性能测试、TCP批量请求/应答网络流量的性能测试、UDP批量请求/应答网络流量的性能测试等方式实现。
所述系统自学习分析推荐模块在收到系统自动化测试模块所给出的测试数据以后,保存这些测试数据并对这些测试数据进行分析,由所述分析结果得到当前配置下虚拟机部署数量的最优解,这一最优解就是所要向用户推荐的结果。在后文中,将对该模块如何对测试数据进行分析加以说明。所述系统自学习分析推荐模块还可根据已有的性能评测标准对在最优解数量下的各个虚拟机的性能进行评测。
所述系统测评信息中心保存了所述系统自学习分析推荐模块分析后所得到的虚拟机部署数量的最优解以及在最优解数量下的各个虚拟机的性能评测结果。系统测评信息中心所保存的这些结果能够在后续的操作中得到应用。例如,当用户之后使用相同配置进行方案部署时,就可以参照这个结果,从而节省用户的时间,节约计算资源。
之前提到,系统自学习分析推荐模块需要对测试数据进行分析,以得到当前配置下虚拟机部署数量的最优解。在求解最优解时,计算所部署的虚拟机数量在小于或等于被测试虚拟机的数量上限n的多种情况下被测试系统所要花费的代价,代价最小情况下的虚拟机数量k就是所要求取的被评测系统的最优的虚拟机数量部署方案。具体的说,上述过程可通过下列步骤实现:
步骤10、已知根据测试模板以及物理机的系统配置所设定的虚拟机理论最大数量n,在满足小于或等于n的条件下,k取不同的值,分别依次执行后续的步骤20-步骤40。
步骤20、根据k个虚拟机的磁盘读写IO数据,计算k个虚拟机磁盘读写吞吐量总和与k-1个虚拟机磁盘读写吞吐量总和之差ΔSDk,以及k个虚拟机磁盘读写差值平均值与k-1个虚拟机磁盘读写差值平均值的差值ΔΦDk。
该步骤具体包括以下步骤:
步骤21、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的磁盘读写IO数据Di,其中Di表示第i个虚拟机的磁盘读写IO。在下面的表2中给出了一个实施例中,8个虚拟机的磁盘读写IO的数据。从该表中可以看出,编号为1的虚拟机首先被启动,并测得其在第一个测试周期内的磁盘读写IO的大小为30202byte/s,接着,编号为2的虚拟机被启动,在第二个测试周期内,测得编号为1的虚拟机的磁盘读写IO的大小为19010byte/s,而编号为2的虚拟机的磁盘读写IO的大小为18251byte/s,依此类推,在第八个测试周期内,可以同时测得编号从1到8的虚拟机的磁盘读写IO。
D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 |
30202 | |||||||
19010 | 18251 | ||||||
12284 | 12459 | 11610 | |||||
5684 | 5352 | 5306 | 5204 | ||||
3632 | 3710 | 3495 | 3645 | 3533 | |||
3656 | 3422 | 3456 | 3636 | 3515 | 3381 | ||
3131 | 3331 | 3266 | 3163 | 3381 | 3267 | 3307 | |
1956 | 1924 | 1871 | 1998 | 1861 | 1985 | 1961 | 1974 |
表2(单位byte/s)
步骤22、计算在各个测试周期内,已启动的各个虚拟机的总的磁盘读写IO数据SDk。
在一个实施例中,上述表2中的数据经过本步骤的计算操作后,生成如下表3中的数据。如表1所示的第一个测试周期内,只有编号为1的虚拟机正在运行,因此SD1的大小即为D1(30202byte/s)的值,而在第二个测试周期内,有编号为1和2的虚拟机在运行,因此SD2的大小为D1(19010byte/s)与D2(18251byte/s)的和,依此类推,可得到之后的SD,3,…,SD8的值。
SD1 | SD2 | SD3 | SD4 | SD5 | SD6 | SD7 | SD8 |
30202 | 37261 | 36353 | 21546 | 18015 | 21066 | 22846 | 15530 |
表3(单位byte/s)
步骤23、计算k个虚拟机磁盘读写吞吐量总和与k-1个虚拟机磁盘读写吞吐量总和之差ΔSDk。
ΔSDk=SDk-SDk-1(k=2,…,n) (2)
在一个实施例中,所述表3中的数据经过本步骤的计算操作后,生成如下表4中的数据。
ΔSD2 | ΔSD3 | ΔSD4 | ΔSD5 | ΔSD6 | ΔSD7 | ΔSD8 |
7059 | 908 | 14807 | 3531 | 3051 | 1780 | 7316 |
表4(单位byte/s)
步骤24、对步骤21中得到的k个虚拟机同时读写的磁盘吞吐量相互差值取平均,得到ΦDk。
在一个实施例中,表1的数据经过本步骤的计算操作后,可得到如下表5中的数据。
ΦD1 | ΦD2 | ΦD3 | ΦD4 | ΦD5 | ΦD6 | ΦD7 |
759 | 512 | 160 | 138.75 | 140.6 | 123.3 | 73 |
表5(单位byte/s)
步骤25、对步骤24得到的k个虚拟机磁盘读写差值平均值与k-1个虚拟机磁盘读写差值平均值求差,得到ΔΦDk。
ΔΦDk=ΦDk-ΦDk-1(k=2,…,n) (4)
在一个实施例中,表5的数据经过本步骤的计算操作后,可得到下表6中的数据。
ΔΦD2 | ΔΦD3 | ΔΦD4 | ΔΦD5 | ΔΦD6 | ΔΦD7 |
247 | 352 | 22 | 2 | 18 | 50 |
表6(单位byte/s)
步骤30、根据k个虚拟机的网络吞吐量,计算k个虚拟机网络吞吐量总和与k-1个虚拟机网络吞吐量总和之差ΔSNk,以及k个虚拟机的网络吞吐量差值平均值与k-1个虚拟机网络吞吐量差值平均值之间的差值ΔΦNk。
该步骤具体包括以下步骤:
步骤31、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的网络吞吐量Ni,其中Ni表示第i个虚拟机的网络IO。
在下面的表7中给出了在一个实施例中,8个虚拟机的网络吞吐量的数据。
N1 | N2 | N3 | N4 | N5 | N6 | N7 | N8 |
93.92 | |||||||
44.61 | 50.04 | ||||||
36.81 | 33.04 | 25.50 | |||||
29.26 | 23.09 | 22.29 | 21.59 | ||||
23.83 | 14.00 | 16.95 | 21.91 | 19.55 | |||
15.49 | 13.25 | 17.19 | 17.11 | 23.07 | 11.10 | ||
17.92 | 16.70 | 14.38 | 10.68 | 15.72 | 10.82 | 11.39 | |
10.42 | 11.18 | 16.91 | 11.32 | 13.00 | 10.59 | 14.48 | 13.72 |
表7(M/s)
步骤32、计算在各个测试周期内,已启动的各个虚拟机的网络吞吐量总和SNk。
在一个实施例中,上述表7中的数据经过本步骤的计算操作后得到如下表8中的数据。
SN1 | SN2 | SN3 | SN4 | SN5 | SN6 | SN7 | SN8 |
93.92 | 94.65 | 95.35 | 96.23 | 96.44 | 97.21 | 97.61 | 100.62 |
表8(单位M/s)
步骤33、计算k个虚拟机网络吞吐量总和与k-1个虚拟机网络吞吐量总和之差ΔSNk。
ΔSNk=SNk-SNk-1(k=2,…,n) (6)
在一个实施例中,上述表8中的数据经过本步骤的计算操作后得到如下表9中的数据。
ΔSN2 | ΔSN3 | ΔSN4 | ΔSN5 | ΔSN6 | ΔSN7 | ΔSN8 |
0.73 | 0.88 | 0.88 | 0.21 | 0.77 | 0.4 | 3.01 |
表9(单位M/s)
步骤34、对步骤31中得到的k个虚拟机同时读写的网络吞吐量相互差值取平均,得到ΦNk。
ΦNk为k个虚拟机的网络吞吐量差值平均值。
在本实施例中,上述表7中的数据经过本步骤的计算操作后得到如下表10的数据。
ΦN1 | ΦN2 | ΦN3 | ΦN4 | ΦN5 | ΦN6 | ΦN7 |
5.4 | 4 | 2.6 | 5 | 4.8 | 2.96 | 2.97 |
表10(单位M/s)
步骤35、为k个虚拟机的网络吞吐量差值平均值与k-1个虚拟机网络吞吐量差值平均值求差,得到ΔΦNk。
ΔΦNk=ΦNk-ΦNk-1(k=2,…,n) (8)
在本实施例中,上述表10中的数据经过本步骤的计算操作后得到如下表11的数据。
ΔΦN2 | ΔΦN3 | ΔΦN4 | ΔΦN5 | ΔΦN6 | ΔΦN7 |
1.4 | 1.4 | 2.4 | 0.2 | 1.8 | 0.01 |
表11(单位M/s)
步骤40、根据k个虚拟机的CPU使用时间,计算k个虚拟机CPU使用时间总和与k-1个虚拟机CPU使用时间总和之差ΔSCk,以及k个虚拟机的CPU使用时间相互之间差值的平均值与k-1个虚拟机的CPU使用时间相互之间差值的平均值的差ΔΦCk。
该步骤具体包括以下步骤:
步骤41、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的CPU使用时间Ci。
在下面的表12中给出的一个实施例中,8个虚拟机的CPU使用时间。从该表可以看出,编号为1的虚拟机首先被启动,测得其在第一个测试周期内的CPU使用时间的大小为119.6s,接着编号为2的虚拟机被启动,在第二个测试周期内,测得编号为1的虚拟机的CPU使用时间为125.2s,编号为2的虚拟机的CPU使用时间为124.6s,依此类推,在第八个测试周期内,可以同时测得编号从1到8的虚拟机的CPU使用时间。
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 |
119.6 | |||||||
125.2 | 124.6 | ||||||
131.2 | 130.4 | 129.7 | |||||
140.1 | 140.3 | 140.5 | 140.5 | ||||
155.1 | 157.7 | 158.2 | 158.7 | 157.3 | |||
180.1 | 179.9 | 181.8 | 178.8 | 175.7 | 181.2 | ||
181.1 | 186.9 | 181 | 183.1 | 179.3 | 185.1 | 182.6 | |
264.3 | 301 | 305 | 268 | 327.6 | 335.7 | 299.8 | 340.4 |
表12(单位s)
步骤42、计算在各个测试周期内,已启动的各个虚拟机的CPU使用时间总和SCk。
在本实施例中,上述表12中的数据经过本步骤的计算操作后得到如下表13的数据。
SC1 | SC2 | SC3 | SC4 | SC5 | 5C6 | SC7 | SC8 |
119.6 | 249.8 | 391.3 | 561.4 | 787 | 1077.5 | 1279.1 | 2441.8 |
表13(单位s)
步骤43、计算k个虚拟机CPU使用时间总和与k-1个虚拟机CPU使用时间总和之差ΔSCk。
ΔSCk=SCk-SCk-1(k=2,…,n) (10)
在本实施例中,上述表13中的数据经过本步骤的计算操作后得到如下表14的数据。
ΔSC1 | ΔSC2 | ΔSC3 | ΔSC4 | ΔSC5 | ΔSC6 | ΔSC7 |
130.2 | 141.5 | 170.1 | 225.6 | 290.5 | 201.6 | 1162.7 |
表14(单位s)
步骤44、对步骤41中得到的k个虚拟机的CPU使用时间相互之间的差值取平均,得到ΦCk。
在一个实施例中,上述表12中的数据经过本步骤的计算操作后得到如下表15的数据。
ΦC1 | ΦC2 | ΦC3 | ΦC4 | ΦC5 | ΦC6 | ΦC7 |
0.6 | 0.75 | 0.13 | 1.25 | 2.7 | 4.3 | 31.7 |
表15(单位s)
步骤45、对步骤44得到的为k个虚拟机的CPU使用时间相互之间差值的平均值与k-1个虚拟机的CPU使用时间相互之间差值的平均值再求差,得到ΔΦCk。
ΔΦCk=ΦCk-ΦCk-1(k=2,…,n) (12)
在本实施例中,上述表15中的数据经过本步骤的计算操作后得到如下表16的数据。
ΔΦC1 | ΔΦC2 | ΔΦC3 | ΔΦC4 | ΔΦC5 | ΔΦC6 |
0.15 | 0.62 | 1.12 | 1.45 | 1.6 | 27.4 |
表16(单位s)
步骤50、根据k在不同取值下,计算得到的ΔSDk、ΔSNk、SCk、ΔΦDk、ΔΦNk、ΔΦCk的大小,求出Min值,选取其中最小的值所对应的k的大小作为最优解。
Min=aΔSDk+bΔSNk+cΔSCk+dΔΦk(k=1,…,n-1)
其中,ΔΦk值由ΔΦDk、ΔΦNk以及ΔΦCk求和后确定;a、b、c、d为整个模型的影响因子,这些因子的大小会根据实际的测试数据逐次调整,例如,自学习过程中相关影响因子得出的推荐虚拟机部署方案经过实际运行后发现存在问题,则自动对其中一些参数进行调优,若参数a的参数应该减小对最终结果的影响,则降低a的大小,从而最终结果是是让每个影响的因素能够达到相同的影响系数。上述影响因子的初始值为a=0.0001,b=1,c=0.01,d=1,所以根据求解的值带入,可以求得当k的值为6时,本实施例中计算得到的Min为最小,这也是本次试验结果的推荐虚拟机部署方案。
以上是对本发明的虚拟机评测系统的说明。在上述评测系统的基础上,本发明还提供了一种应用于该评测系统的评测方法。
该评测方法包括以下步骤:
步骤1)选取评测用的测试模板;
步骤2)收集被测试系统的配置信息;
步骤3)根据该测试模板和所述配置信息对被测试系统进行测试;
步骤4)对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;
步骤5)保存所述的最优的虚拟机数量部署方案以及性能评测结果。
其中,在步骤4)中,对测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果的具体实现在之前的步骤10-步骤50的描述中已经有详细的说明,此处不再重复。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种虚拟机评测系统,其特征在于,包括测试模板模块、系统软硬件配置自动收集模块、系统自动化测试模块、系统自学习分析推荐模块以及系统测评信息中心;其中,
所述的测试模板模块用于提供评测用的测试模板;所述的系统软硬件配置自动收集模块收集被测试系统的配置信息;所述的系统自动化测试模块在收到所述配置信息后,根据所述测试模板进行相关的测试;所述系统自学习分析推荐模块对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;所述系统测评信息中心用于保存所述的最优的虚拟机数量部署方案以及性能评测结果。
2.根据权利要求1所述的虚拟机评测系统,其特征在于,所述测试模板模块包括一向用户提供用于定制测试模板的接口,通过该接口用户能够生成自定义的测试模板。
3.根据权利要求1所述的虚拟机评测系统,其特征在于,所述系统自动化测试模块收到所述系统软硬件配置自动收集模块所提供的系统配置信息以及所述测试模板模块所提供的测试模板信息后,根据当前配置信息以及测试模板参数信息设置被测试虚拟机的数量上限,然后依次启动虚拟机分别进行虚拟机并发测试以及隔离测试,直到虚拟机启动数量达到所述的数量上限结束。
4.根据权利要求1所述的虚拟机评测系统,其特征在于,所述系统自学习分析推荐模块分别计算所部署的虚拟机数量在小于或等于被测试虚拟机的数量上限n的多种情况下,被测试系统在运行时所要花费的代价,代价最小情况下的虚拟机数量k就是所要求取的被评测系统的最优的虚拟机数量部署方案。
5.一种应用于权利要求1-4之一的虚拟机评测系统上的虚拟机评测方法,包括:
步骤1)、选取评测用的测试模板;
步骤2)、收集被测试系统的配置信息;
步骤3)、根据所述测试模板以及所述配置信息对被测试系统进行测试;
步骤4)、对所述测试结果进行分析,生成被评测系统的最优的虚拟机数量部署方案以及相应的性能评测结果;
步骤5)、保存所述的最优的虚拟机数量部署方案以及性能评测结果。
6.根据权利要求5所述的虚拟机评测方法,其特征在于,所述的步骤4)包括:
步骤4-1)、已知根据测试模板以及物理机的系统配置所设定的虚拟机理论最大数量n,在满足小于或等于n的条件下,k取不同的值,分别依次执行后续的步骤4-2)-步骤4-4);
步骤4-2)、根据k个虚拟机的磁盘读写IO数据,计算k个虚拟机磁盘读写吞吐量总和与k-1个虚拟机磁盘读写吞吐量总和之差ΔSDk,以及k个虚拟机磁盘读写差值平均值与k-1个虚拟机磁盘读写差值平均值的差值ΔΦDk;
步骤4-3)、根据k个虚拟机的网络吞吐量,计算k个虚拟机网络吞吐量总和与k-1个虚拟机网络吞吐量总和之差ΔSNk,以及k个虚拟机的网络吞吐量差值平均值与k-1个虚拟机网络吞吐量差值平均值之间的差值ΔΦNk;
步骤4-4)、根据k个虚拟机的CPU使用时间,计算k个虚拟机CPU使用时间总和与k-1个虚拟机CPU使用时间总和之差ΔSCk,以及k个虚拟机的CPU使用时间相互之间差值的平均值与k-1个虚拟机的CPU使用时间相互之间差值的平均值的差ΔΦCk;
步骤4-5)、根据k在不同取值下,计算得到的ΔSDk、ΔSNk、SCk、ΔΦDk、ΔΦNk、ΔΦCk的大小,求出Min值,选取其中最小的值所对应的k的大小作为最优解;
Min=aΔSDk+bΔSNk+cΔSCk+dΔΦk;
其中,ΔΦk值由ΔΦDk、ΔΦNk以及ΔΦCk求和后确定;a、b、c、d为整个模型的影响因子,其大小能够根据实际的测试数据逐次调整。
7.据权利要求6所述的虚拟机评测方法,其特征在于,所述的步骤4-2)包括:
步骤4-2-1)、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的磁盘读写IO数据Di,其中Di表示第i个虚拟机的磁盘读写IO;
步骤4-2-2)、计算在各个测试周期内,已启动的各个虚拟机的总的磁盘读写IO数据SDk;
步骤4-2-3)、计算k个虚拟机磁盘读写吞吐量总和与k-1个虚拟机磁盘读写吞吐量总和之差ΔSDk;
步骤4-2-4)、对步骤4-2-1)中得到的k个虚拟机同时读写的磁盘吞吐量相互差值取平均,得到ΦDk;
步骤4-2-5)、对步骤4-2-4)得到的k个虚拟机磁盘读写差值平均值与k-1个虚拟机磁盘读写差值平均值求差,得到ΔΦDk。
8.据权利要求6所述的虚拟机评测方法,其特征在于,所述的步骤4-3)包括:
步骤4-3-1)、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的网络吞吐量Ni,其中Ni表示第i个虚拟机的网络IO;
步骤4-3-2)、计算在各个测试周期内,已启动的各个虚拟机的网络吞吐量总和SNk;
步骤4-3-3)、计算k个虚拟机网络吞吐量总和与k-1个虚拟机网络吞吐量总和之差ΔSNk;
步骤4-3-4)、对步骤4-3-1)中得到的k个虚拟机同时读写的网络吞吐量相互差值取平均,得到网络吞吐量差值平均值ΦNk;
步骤4-3-5)、为k个虚拟机的网络吞吐量差值平均值与k-1个虚拟机网络吞吐量差值平均值求差,得到ΔΦNk。
9.据权利要求6所述的虚拟机评测方法,其特征在于,所述的步骤4-4)包括:
步骤4-4-1)、k个虚拟机从编号为1的虚拟机开始依次启动,在所启动的虚拟机上同时运行相同的测试程序,直到第k个虚拟机成功启动,测得各个测试周期内已启动的虚拟机的CPU使用时间Ci;
步骤4-4-2)、计算在各个测试周期内,已启动的各个虚拟机的CPU使用时间总和SCk;
步骤4-4-3)、计算k个虚拟机CPU使用时间总和与k-1个虚拟机CPU使用时间总和之差ΔSCk;
步骤4-4-4)、对步骤4-4-1)中得到的k个虚拟机的CPU使用时间相互之间的差值取平均,得到ΦCk;
步骤4-4-5)、对步骤4-4-4)得到的为k个虚拟机的CPU使用时间相互之间差值的平均值与k-1个虚拟机的CPU使用时间相互之间差值的平均值再求差,得到ΔΦCk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210085313.2A CN102662836B (zh) | 2012-03-28 | 2012-03-28 | 一种虚拟机评测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210085313.2A CN102662836B (zh) | 2012-03-28 | 2012-03-28 | 一种虚拟机评测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662836A true CN102662836A (zh) | 2012-09-12 |
CN102662836B CN102662836B (zh) | 2015-06-03 |
Family
ID=46772333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210085313.2A Active CN102662836B (zh) | 2012-03-28 | 2012-03-28 | 一种虚拟机评测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662836B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116539A (zh) * | 2012-02-15 | 2013-05-22 | 无锡江南计算技术研究所 | 一种细粒度的虚拟化系统的性能损耗测试方法及装置 |
CN103595578A (zh) * | 2013-11-01 | 2014-02-19 | 福建升腾资讯有限公司 | 一种桌面云终端在虚拟化应用场景的性能评测方法及其系统 |
CN103729263A (zh) * | 2013-12-23 | 2014-04-16 | 国云科技股份有限公司 | 一种高成功率的xen虚拟机容错机制 |
CN103795744A (zh) * | 2012-10-30 | 2014-05-14 | 上海今日在线科技发展有限公司 | 一种在线测试云服务平台 |
CN103823145A (zh) * | 2014-03-18 | 2014-05-28 | 福建联迪商用设备有限公司 | 硬件自动化测试平台 |
CN104035869A (zh) * | 2014-06-19 | 2014-09-10 | 科大讯飞股份有限公司 | 一种应用的评测方法、终端及服务器 |
CN105373477A (zh) * | 2015-11-25 | 2016-03-02 | 普华基础软件股份有限公司 | 一种容量测试方法 |
CN104268069B (zh) * | 2014-09-24 | 2017-05-03 | 杭州顺网科技股份有限公司 | 一种电脑性能的评估方法 |
CN113032231A (zh) * | 2021-03-09 | 2021-06-25 | 中国人民解放军63660部队 | 一种虚拟化平台综合性能评估方法 |
CN113849277A (zh) * | 2021-12-02 | 2021-12-28 | 飞腾信息技术有限公司 | 网卡测试方法、装置、计算机设备及计算机可读存储介质 |
CN115167770A (zh) * | 2022-07-04 | 2022-10-11 | 中航机载系统共性技术有限公司 | 一种基于vdi场景的存储系统iops性能评估方法 |
CN116893885A (zh) * | 2023-09-11 | 2023-10-17 | 中移(苏州)软件技术有限公司 | Java虚拟机调节方法、装置、电子设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220171A (zh) * | 2016-03-22 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 一种虚拟机的测试方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100880A1 (en) * | 2008-10-22 | 2010-04-22 | Fujitsu Limited | Virtual system control method and apparatus |
CN102075384A (zh) * | 2010-12-20 | 2011-05-25 | 创新科存储技术有限公司 | 一种性能测试系统及方法 |
CN102222034A (zh) * | 2011-07-15 | 2011-10-19 | 浙江大学 | 基于程序轮廓分析的虚拟化平台性能评测方法 |
-
2012
- 2012-03-28 CN CN201210085313.2A patent/CN102662836B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100880A1 (en) * | 2008-10-22 | 2010-04-22 | Fujitsu Limited | Virtual system control method and apparatus |
CN102075384A (zh) * | 2010-12-20 | 2011-05-25 | 创新科存储技术有限公司 | 一种性能测试系统及方法 |
CN102222034A (zh) * | 2011-07-15 | 2011-10-19 | 浙江大学 | 基于程序轮廓分析的虚拟化平台性能评测方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116539A (zh) * | 2012-02-15 | 2013-05-22 | 无锡江南计算技术研究所 | 一种细粒度的虚拟化系统的性能损耗测试方法及装置 |
CN103795744A (zh) * | 2012-10-30 | 2014-05-14 | 上海今日在线科技发展有限公司 | 一种在线测试云服务平台 |
CN103595578B (zh) * | 2013-11-01 | 2016-06-29 | 福建升腾资讯有限公司 | 一种桌面云终端在虚拟化应用场景的性能评测方法及其系统 |
CN103595578A (zh) * | 2013-11-01 | 2014-02-19 | 福建升腾资讯有限公司 | 一种桌面云终端在虚拟化应用场景的性能评测方法及其系统 |
CN103729263A (zh) * | 2013-12-23 | 2014-04-16 | 国云科技股份有限公司 | 一种高成功率的xen虚拟机容错机制 |
CN103729263B (zh) * | 2013-12-23 | 2017-07-07 | 国云科技股份有限公司 | 一种高成功率的xen虚拟机容错机制 |
CN103823145B (zh) * | 2014-03-18 | 2016-08-31 | 福建联迪商用设备有限公司 | 硬件自动化测试平台 |
CN103823145A (zh) * | 2014-03-18 | 2014-05-28 | 福建联迪商用设备有限公司 | 硬件自动化测试平台 |
CN104035869A (zh) * | 2014-06-19 | 2014-09-10 | 科大讯飞股份有限公司 | 一种应用的评测方法、终端及服务器 |
CN104268069B (zh) * | 2014-09-24 | 2017-05-03 | 杭州顺网科技股份有限公司 | 一种电脑性能的评估方法 |
CN105373477A (zh) * | 2015-11-25 | 2016-03-02 | 普华基础软件股份有限公司 | 一种容量测试方法 |
CN113032231A (zh) * | 2021-03-09 | 2021-06-25 | 中国人民解放军63660部队 | 一种虚拟化平台综合性能评估方法 |
CN113032231B (zh) * | 2021-03-09 | 2024-03-15 | 中国人民解放军63660部队 | 一种虚拟化平台综合性能评估方法 |
CN113849277A (zh) * | 2021-12-02 | 2021-12-28 | 飞腾信息技术有限公司 | 网卡测试方法、装置、计算机设备及计算机可读存储介质 |
CN115167770A (zh) * | 2022-07-04 | 2022-10-11 | 中航机载系统共性技术有限公司 | 一种基于vdi场景的存储系统iops性能评估方法 |
CN116893885A (zh) * | 2023-09-11 | 2023-10-17 | 中移(苏州)软件技术有限公司 | Java虚拟机调节方法、装置、电子设备及可读存储介质 |
CN116893885B (zh) * | 2023-09-11 | 2024-01-26 | 中移(苏州)软件技术有限公司 | Java虚拟机调节方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102662836B (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662836B (zh) | 一种虚拟机评测系统及方法 | |
US10489215B1 (en) | Long-range distributed resource planning using workload modeling in hyperconverged computing clusters | |
Khan et al. | Hadoop performance modeling for job estimation and resource provisioning | |
Ou et al. | Exploiting Hardware Heterogeneity within the Same Instance Type of Amazon {EC2} | |
Assunção et al. | Big Data computing and clouds: Trends and future directions | |
CN104572473B (zh) | 支持多类型和多版本浏览器的Web应用兼容性测试方法 | |
Han et al. | On big data benchmarking | |
Bautista Villalpando et al. | Performance analysis model for big data applications in cloud computing | |
Santos et al. | How does Docker affect energy consumption? Evaluating workloads in and out of Docker containers | |
US9639453B2 (en) | Method and system for determining functional tests to execute based on code coverage | |
CN102222034A (zh) | 基于程序轮廓分析的虚拟化平台性能评测方法 | |
Poggi et al. | ALOJA: A systematic study of hadoop deployment variables to enable automated characterization of cost-effectiveness | |
Lüttgau et al. | Toward understanding I/O behavior in HPC workflows | |
Bermbach et al. | Towards an extensible middleware for database benchmarking | |
CN105630575B (zh) | 针对kvm虚拟化服务器的性能评估方法 | |
US8949793B1 (en) | Test bed design from customer system configurations using machine learning techniques | |
CN102915270A (zh) | 用于存储i/o需求录制与压力模拟验证的方法 | |
Scheuner et al. | A cloud benchmark suite combining micro and applications benchmarks | |
Bawankule et al. | Historical data based approach to mitigate stragglers from the Reduce phase of MapReduce in a heterogeneous Hadoop cluster | |
Marquezan et al. | 3-d cloud monitoring: Enabling effective cloud infrastructure and application management | |
von Kistowski et al. | Measuring and benchmarking power consumption and energy efficiency | |
WO2015049771A1 (ja) | コンピュータシステム | |
CN113704077A (zh) | 测试用例生成方法及装置 | |
Tsouloupas et al. | Gridbench: A tool for the interactive performance exploration of grid infrastructures | |
CN109271303B (zh) | 一种软件配置推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |