一种集群中虚拟机压力自动测试方法,终端及可读存储介质与流程

文档序号:17475642发布日期:2019-04-20 06:06阅读:184来源:国知局
一种集群中虚拟机压力自动测试方法,终端及可读存储介质与流程

本发明涉及虚拟机技术领域,尤其涉及一种集群中虚拟机压力自动测试方法,终端及可读存储介质。



背景技术:

当前在集群中通常会配置相当数量的虚拟机,来进行数据处理。而虚拟机通常具有相应的硬件配置以及软件程序来实现相应的功能。

通常集群建立的时候,将各个虚拟机按照一定的协议关系进行匹配连接集成集群中的虚拟机网络,进行运行。在形成集群服务器后,需要对每个虚拟机进行测试,还需要对整个集群的虚拟机进行测试。

通常只有当整个系统的所有虚拟机都集成到一起之后,才能进行一个系统性能测试。无法在集成之前对集群系统各个成分也就是虚拟机进行测试,如果整个系统所有成分都集成到一起之后进行测试出现问题需要调整时,需要再将系统的各个成分进行拆解,拆解后进行调试,调试后再进行集成并进行测试。这样导致测试具有滞后性,系统在集成前无法进行有效的测试,无法对系统中各个成分的问题进行及时的了解反馈。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种集群中虚拟机压力自动测试方法,方法包括:

获取第一单一测试要素,调取第一虚拟机;

基于第一单一测试要素执行测试进程,对第一虚拟机的第一测试模块进行测试,并展现测试结果;

获取第二单一测试要素,基于第二单一测试要素执行测试进程,对第一虚拟机的第二测试模块进行测试,并展现测试结果;

重复执行上述测试进程,对第一虚拟机的第n测试模块进行测试,并展现测试结果。

优选地,方法还包括:

获取第一单一测试要素,调取第二虚拟机;

基于第一单一测试要素执行测试进程,对第一虚拟机第一测试模块和第二虚拟机第一测试模块进行并行测试,并分别展现第一虚拟机测试结果和第二虚拟机测试结果;

获取第二单一测试要素,基于第二单一测试要素执行测试进程,对第一虚拟机第二测试模块和第二虚拟机第二测试模块进行并行测试,并分别展现第一虚拟机测试结果和第二虚拟机测试结果;

重复执行上述测试进程,对第一虚拟机第n测试模块和第二虚拟机第n测试模块进行并行测试,并分别展现第一虚拟机测试结果和第二虚拟机测试结果。

优选地,方法还包括:

获取多个第一条件测试要素;

根据第一条件测试要素调取第一虚拟机中相对应的测试模块;

将第一条件测试要素对应与第一虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第一条件测试要素对相匹配的测试模块进行测试,并分别展现测试结果。

优选地,方法还包括:

获取多个第二条件测试要素;

将第二条件测试要素对应与第一虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第二条件测试要素对相匹配的测试模块进行测试;

重复执行上述测试进程,对第一虚拟机中的测试模块进行测试,并展现测试结果。

优选地,方法还包括:

获取多个第一条件测试要素;

根据第一条件测试要素调取第一虚拟机中相对应的测试模块以及取第二虚拟机中相对应的测试模块;

将第一条件测试要素对应与第一虚拟机中的测试模块相匹配;

将第一条件测试要素对应与第二虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第一条件测试要素对相匹配的第一虚拟机中的测试模块进行测试,并分别展现测试结果;

使多个第一条件测试要素对相匹配的第二虚拟机中的测试模块进行测试,并分别展现测试结果。

优选地,方法还包括:

获取多个第二条件测试要素;

将第二条件测试要素对应与第一虚拟机中的测试模块相匹配;

将第二条件测试要素对应与第二虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第二条件测试要素对相匹配的第一虚拟机中的测试模块进行测试,并分别展现测试结果;

使多个第二条件测试要素对相匹配的第二虚拟机中的测试模块进行测试,并分别展现测试结果;

重复执行上述测试进程,对第一虚拟机中的测试模块以及第二虚拟机中的测试模块进行测试,并展现测试结果。

优选地,方法还包括:

获取第一整机测试要素,调取第一虚拟机;

基于第一整机测试要素执行测试进程,对第一虚拟机进行测试,并展现测试结果;

获取第二整机测试要素,基于第二整机测试要素执行测试进程,对第一虚拟机进行测试,并展现测试结果;

重复执行上述测试进程,对第一虚拟机进行测试,并展现测试结果。

优选地,方法还包括:

获取第一整机测试要素,调取集群中预设数量的虚拟机;

基于第一整机测试要素执行测试进程,对集群中预设数量的虚拟机进行测试,并展现测试结果;

获取第二整机测试要素,基于第二整机测试要素执行测试进程,对集群中预设数量的虚拟机进行测试,并展现测试结果;

重复执行上述测试进程,对集群中预设数量的虚拟机进行测试,并展现测试结果。

一种实现集群中虚拟机压力自动测试方法的终端,包括:

存储器,用于存储计算机程序及集群中虚拟机压力自动测试方法;

处理器,用于执行所述计算机程序及集群中虚拟机压力自动测试方法,以实现集群中虚拟机压力自动测试方法的步骤。

一种具有集群中虚拟机压力自动测试方法的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现集群中虚拟机压力自动测试方法的步骤。

从以上技术方案可以看出,本发明具有以下优点:

本发明可以基于测试需要对集群中单一虚拟机进行测试,可以对虚拟机中各个组成要素基于不同的使用条件进行测试。也可以实现同步同时对虚拟机中各个组成要素进行相互配合的测试。通过测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的服务级别的测试。

本发明可以实现对集群中多个虚拟机进行同时同步测试,或交叉测试。对多个虚拟机的各个组成要素基于不同的使用条件进行测试。可以实现不同的测试组合方式来满足测试要求。更好地利用系统资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。

附图说明

为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为集群中虚拟机压力自动测试方法流程图;

图2为集群中虚拟机压力自动测试方法实施例流程图;

图3为集群中虚拟机压力自动测试方法实施例流程图;

图4为集群中虚拟机压力自动测试方法实施例流程图。

具体实施方式

本发明提供一种集群中虚拟机压力自动测试方法,如图1所示,方法包括:

s1,获取第一单一测试要素,调取第一虚拟机;

通常虚拟机包括多个硬件装置,将这些硬件装置进行组合形成实体机。在实体机中配置相应的功能软件。第一单一测试要素可以是对虚拟机中某一个硬件来进行测试,也可以是对虚拟机中某一个软件来进行测试。具体测试类型根据实际需要用户输入,进行测试。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

s2,基于第一单一测试要素执行测试进程,对第一虚拟机的第一测试模块进行测试,并展现测试结果;

用户根据需要配置第一单一测试要素后,执行测试进程,进行测试,展现测试结果可以基于显示屏显示,可以是日志展示,保存记录等等。

s3,获取第二单一测试要素,基于第二单一测试要素执行测试进程,对第一虚拟机的第二测试模块进行测试,并展现测试结果;

s4,重复执行上述测试进程,对第一虚拟机的第n测试模块进行测试,并展现测试结果。

基于虚拟机配有多个硬件和软件。这里由于一些硬件需要采用不同的条件进行测试。比如cpu基于30%的压力测试,基于50%的压力测试,基于80%的压力测试。比如内存基于50%压力测试,基于70%压力测试,基于90%压力测试等等。储存装置的大块读写文件测试,小块文件读写测试。

用户可以根据需要配置多个单一测试要素来进行对虚拟机的测试。上述测试方式可以由测试人员统一配置完单一测试要素后,在开始按照预设次序执行。也可以执行一个之后,再执行下一项测试。还可以在执行当前测试的同时,配置下一项测试,之后依次执行。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本发明提供的实施例中,如图2所示,

s11,获取第一单一测试要素,调取第二虚拟机;

基于集群具有多个虚拟机,测试可以基于多个虚拟机同步进行。

s12,基于第一单一测试要素执行测试进程,对第一虚拟机第一测试模块和第二虚拟机第一测试模块进行并行测试,并分别展现第一虚拟机测试结果和第二虚拟机测试结果;

s13,获取第二单一测试要素,基于第二单一测试要素执行测试进程,对第一虚拟机第二测试模块和第二虚拟机第二测试模块进行并行测试,并分别展现第一虚拟机测试结果和第二虚拟机测试结果;

s14,重复执行上述测试进程,对第一虚拟机第n测试模块和第二虚拟机第n测试模块进行并行测试,并分别展现第一虚拟机测试结果和第二虚拟机测试结果。

这样就同一个测试要素,可以同时同步的对集群中各个虚拟机对应的测试模块进行测试。测试模块可以包括:虚拟机中的软件程序,虚拟机的cpu,内存,硬盘,网络通信等等。

本发明中的硬盘或储存装置可以包括计算机存储介质,诸如随机存取存储器(ram),只读存储器(rom),非易失性随机存取存储器(nvram),电可擦可编程只读存储器(eeprom),闪存,磁或光学数据存储介质,和类似物。在一些实施例中,一种制造产品可包括一个或多个计算机可读存储媒体。

cpu可以包括一个或多个处理器执行,如一个或多个数字信号处理器(dsp),通用微处理器,特定应用集成电路(asics),现场可编程门阵列(fpga),或者其它等价物把集成电路或离散逻辑电路。因此,术语“处理器,”由于在用于本文时可以指任何前述结构或任何其它的结构更适于实现的这里所描述的技术。另外,在一些方面,本公开中所描述的功能可以提供在软件模块和硬件模块。

测试经常和软件压力测试一起进行,当出现情况(如中断)时记录下来。通过对系统的检测,测试者可以发现导致效率降低和系统故障的原因。

这里仅仅表述了第一虚拟机和第二虚拟机,可以理解的是,包括了集群中多个虚拟机同步进行测试。

本发明并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(loadtesting)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、cpu负载、内存使用等来决定系统的性能

本发明提供的实施例中,如图3所示,方法还包括:

s21,获取多个第一条件测试要素;

s22,根据第一条件测试要素调取第一虚拟机中相对应的测试模块;

s23,将第一条件测试要素对应与第一虚拟机中的测试模块相匹配;

s24,执行同步测试进程,使多个第一条件测试要素对相匹配的测试模块进行测试,并分别展现测试结果。

可以理解的是,比如配置了cpu测试要素,内存测试要素,网络通信测试要素等等。将cpu测试要素与cpu相匹配,将内存测试要素与内存相匹配,将网络通信测试要素与通信网络相匹配。执行同步测试进程,使上述测试进程同步执行,并分别展现测试结果。

可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明提供的实施例中,如图4所示,方法还包括:

获取多个第二条件测试要素;

将第二条件测试要素对应与第一虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第二条件测试要素对相匹配的测试模块进行测试;

重复执行上述测试进程,对第一虚拟机中的测试模块进行测试,并展现测试结果。

需要进一步说明的是,由于一些硬件需要采用不同的条件进行测试。比如cpu基于30%的压力测试,基于50%的压力测试,基于80%的压力测试。比如内存基于50%压力测试,基于70%压力测试,基于90%压力测试等等。储存装置的大块读写文件测试,小块文件读写测试。基于上述设备可以同时同步执行测试,基于上述方式进行测试。测试人员可以将不同的匹配进行测试。比如对cpu基于30%的压力测试,同时同步内存进行基于70%压力测试,同时同步储存装置的大块读写文件测试,同时同步网络通信基于tcp进行,基于这样调节进行测试。测试完成后,基于需要再调整测试,进各个设备的压力要求进行调配再进行测试。以此类推,这里不一一列举。

本发明提供的实施例中,由于集群中具有多个虚拟机这样为了能够实现多个虚拟机同步同时进行测试。

方法还包括:

获取多个第一条件测试要素;

根据第一条件测试要素调取第一虚拟机中相对应的测试模块以及取第二虚拟机中相对应的测试模块;

将第一条件测试要素对应与第一虚拟机中的测试模块相匹配;

将第一条件测试要素对应与第二虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第一条件测试要素对相匹配的第一虚拟机中的测试模块进行测试,并分别展现测试结果;

使多个第一条件测试要素对相匹配的第二虚拟机中的测试模块进行测试,并分别展现测试结果。

也就是多个对虚拟机中的软件或硬件进行基于第一个条件同步测试。

可以支持虚拟机的cpu压力自动测试,一键运行脚本后,脚本自动执行预制的cpu压力测试,包括虚拟机cpu30%,50%,80%压力下系统的表现情况。

可以支持虚拟机的内存压力自动测试,一键运行脚本后,脚本自动执行预制的内存压力测试,包括虚拟机内存50%,70%,90%压力下系统的表现情况。

可以支持虚拟机的网络压力自动测试,包括对网络的tcp和udp进行测试。测试网络在不同流量情况下虚拟机的运行情况。以及验证虚拟机预制的qos是否成功。

可以支持虚拟机的存储读写自动测试,包括对存储的读写压力,大块/小块读写时长进行按照预制的压力条件进行测试。

需要进一步说明的是,获取多个第二条件测试要素;

将第二条件测试要素对应与第一虚拟机中的测试模块相匹配;

将第二条件测试要素对应与第二虚拟机中的测试模块相匹配;

执行同步测试进程,使多个第二条件测试要素对相匹配的第一虚拟机中的测试模块进行测试,并分别展现测试结果;

使多个第二条件测试要素对相匹配的第二虚拟机中的测试模块进行测试,并分别展现测试结果;

重复执行上述测试进程,对第一虚拟机中的测试模块以及第二虚拟机中的测试模块进行测试,并展现测试结果。

需要对虚拟机的软件或硬件进行多种压力状态下的测试。所以基于上述步骤进行测试。

通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

本发明提供的实施例中,基于集群中单个虚拟机的整机进行测试,方法还包括:

获取第一整机测试要素,调取第一虚拟机;

基于第一整机测试要素执行测试进程,对第一虚拟机进行测试,并展现测试结果;

获取第二整机测试要素,基于第二整机测试要素执行测试进程,对第一虚拟机进行测试,并展现测试结果;

重复执行上述测试进程,对第一虚拟机进行测试,并展现测试结果。

需要进一步说明的是,基于集群中多个虚拟机的整机进行测试,方法还包括:

获取第一整机测试要素,调取集群中预设数量的虚拟机;

基于第一整机测试要素执行测试进程,对集群中预设数量的虚拟机进行测试,并展现测试结果;

获取第二整机测试要素,基于第二整机测试要素执行测试进程,对集群中预设数量的虚拟机进行测试,并展现测试结果;

重复执行上述测试进程,对集群中预设数量的虚拟机进行测试,并展现测试结果。

本发明以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题

本发明更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。

本发明还提供一种实现集群中虚拟机压力自动测试方法的终端,包括:

存储器,用于存储计算机程序及集群中虚拟机压力自动测试方法;

处理器,用于执行所述计算机程序及集群中虚拟机压力自动测试方法,以实现集群中虚拟机压力自动测试方法的步骤。

本发明还提供一种具有集群中虚拟机压力自动测试方法的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现集群中虚拟机压力自动测试方法的步骤。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1