服务器性能测试时间的预测方法、装置、设备及存储介质与流程

文档序号:20599400发布日期:2020-05-01 21:30阅读:148来源:国知局
服务器性能测试时间的预测方法、装置、设备及存储介质与流程

本发明涉及服务器测试技术领域,特别是涉及一种服务器性能测试时间的预测方法、装置、设备及存储介质。



背景技术:

在服务器性能测试过程中,测试用例中通常会给出各个性能测试项的测试时间,但是实际测试过程中,不同的机型以及不同的配件,其测试时间可能会有较大的差别。虽然这个时间差距不是太大,但是如果某个测试项目中存在较多的性能测试项,可能会造成实际测试时间与测试计划时间产生较大的偏离,严重情况下可能会导致项目交付的延期,给公司的利益与形象带来一定影响。

如何提高对服务器性能测试时间的预测的准确性,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种服务器性能测试时间的预测方法、装置、设备及存储介质,提高了对服务器性能测试时间的预测的准确性。

为解决上述技术问题,本发明提供一种服务器性能测试时间的预测方法,包括:

获取服务器性能测试任务中的测试变量的类型;所述测试变量的类型包括自变量和测试时间;

采集所述测试变量的历史数据;

根据所述历史数据建立所述服务器性能测试任务的测试时间预测模型;

接收所述服务器测试任务中各所述自变量的变量值;

将所述变量值输入所述测试时间预测模型,得到所述服务器性能测试任务的测试时间预测结果。

可选的,在所述根据所述历史数据建立所述服务器性能测试任务的测试时间预测模型之前,还包括:

根据所述历史数据计算各所述自变量与所述测试时间的相关度;

删除所述相关度小于预设阈值的自变量的历史数据。

可选的,所述根据所述历史数据建立所述服务器性能测试任务的测试时间预测模型,具体包括:

基于所述历史数据建立训练样本和测试样本;

利用所述训练样本训练预设的神经网络模型,得到初始测试时间预测模型;

利用所述测试样本测试所述初始测试时间预测模型的预测误差;

利用所述预测误差调整所述初始测试时间预测模型,得到所述测试时间预测模型。

可选的,所述预设的神经网络模型具体为bp神经网络模型。

可选的,在所述得到所述服务器性能测试任务的测试时间预测结果之后,还包括:

在根据所述服务器性能测试任务的多个变量值组得到的测试时间预测结果中,确定最小的测试时间预测结果对应的变量值组;

输出所述最小的测试时间预测结果对应的变量值组;

其中,一个所述变量值组为在一次所述服务器性能测试任务中各所述自变量的变量值的组合。

可选的,还包括:

在得到所述服务器性能测试任务的测试时间真实值后,利用所述测试时间真实值更新所述测试时间预测模型。

可选的,当所述服务器性能测试任务为采用speccpu对cpu进行的性能测试时,所述自变量具体包括:

服务器机型、cpu型号、cpu核数、cpu物理颗数、单颗cpu核心数、cpu基频、cpu最大频率、内存数量、内存工作频率、内存厂商、单条内存容量、运行speccpu脚本的硬盘4k随机读写ipos和硬盘1024k顺序读写带宽。

为解决上述技术问题,本发明还提供一种服务器性能测试时间的预测装置,包括:

获取单元,用于获取服务器性能测试任务中的测试变量的类型;所述测试变量的类型包括自变量和测试时间;

采集单元,用于采集所述测试变量的历史数据;

建模单元,用于根据所述历史数据建立所述服务器性能测试任务的测试时间预测模型;

接收单元,用于接收所述服务器测试任务中各所述自变量的变量值;

计算单元,用于将所述变量值输入所述测试时间预测模型,得到所述服务器性能测试任务的测试时间预测结果。

为解决上述技术问题,本发明还提供一种服务器性能测试时间的预测设备,包括:

存储器,用于存储指令,所述指令包括上述任意一项所述服务器性能测试时间的预测方法的步骤;

处理器,用于执行所述指令。

为解决上述技术问题,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述服务器性能测试时间的预测方法的步骤。

本发明所提供的服务器性能测试时间的预测方法,通过获取服务器性能测试任务中的测试变量的类型,测试变量包括自变量和测试时间,采集测试变量的历史数据,根据历史数据建立服务器性能测试任务的测试时间预测模型,从而得到与当前的服务器性能测试任务对应的测试时间预测模型,将服务器测试任务中各自变量的变量值输入该测试时间预测模型,即可得到针对该服务器性能测试任务的准确的测试时间预测结果,进而可以协助对项目进度的监控,有助于测试人员做好测试计划,避免出现项目交付延期的纰漏。本发明还提供一种服务器性能测试时间的预测装置、设备及存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例提供的第一种服务器性能测试时间的预测方法的流程图;

图2为本发明实施例提供的第二种服务器性能测试时间的预测方法的流程图;

图3为本发明实施例提供的第三种服务器性能测试时间的预测方法的流程图;

图4为本发明实施例提供的一种服务器性能测试时间的预测装置的结构示意图;

图5为本发明实施例提供的一种服务器性能测试时间的预测设备的结构示意图。

具体实施方式

本发明的核心是提供一种服务器性能测试时间的预测方法、装置、设备及存储介质,提高了对服务器性能测试时间的预测的准确性。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的第一种服务器性能测试时间的预测方法的流程图。

如图1所示,本发明实施例提供的服务器性能测试时间的预测方法

s101:获取服务器性能测试任务中的测试变量的类型。

其中,测试变量的类型包括自变量和测试时间。

在具体实施中,通过对服务器性能测试任务进行分析,得到服务器性能测试任务中的测试变量,其中自变量主要包括服务器机型、部件信息数据和脚本数据等三个维度,因变量为测试时间。需要说明的是,当一个服务器性能测试任务中包括多个不可并发执行的子任务时,服务器性能测试任务的测试时间为各子任务的测试时间之和,相应的,在获取服务器性能测试任务中的测试变量时,获取的测试时间为各子任务的测试时间。

以服务器性能测试任务为采用speccpu对cpu进行的性能测试为例,此时自变量具体可以包括:

服务器机型、cpu型号、cpu核数、cpu物理颗数、单颗cpu核心数、cpu基频、cpu最大频率、内存数量、内存工作频率、内存厂商、单条内存容量、运行speccpu脚本的硬盘4k随机读写ipos和硬盘1024k顺序读写带宽。

其中,对于像服务器机型这样的抽象变量,可以将各服务器机型按照首字母排序,抽象为1、2、3……的数字型作为输入变量。

s102:采集测试变量的历史数据。

在确定了服务器性能测试任务中的自变量的类型后,根据此前进行的该类型的服务器性能测试任务的历史记录,获取测试变量的历史数据,该历史数据中的一条可以包括在某次已执行的同类型的服务器性能测试任务中各自变量的值及该次服务器性能测试任务对应的测试时间,也可以包括在某次已执行的同类型的服务器性能测试任务的各子任务中各自变量的值及各子任务对应的测试时间。

由于服务器性能测试任务中的自变量的类型较多,在之后收集历史数据时涉及到的数据量会非常庞大,给训练模型增加了难度,因此在步骤s103:根据历史数据建立服务器性能测试任务的测试时间预测模型之前,还可以包括:

根据历史数据计算各自变量与所述测试时间的相关度;

删除相关度小于预设阈值的自变量的历史数据。

在具体实施中,可以采用matlab中计算数据间的相关度的功能来执行上述步骤,具体可以以秒为单位,以各自变量的历史数据为输入,以测试时间的历史数据为输出,将历史数据导入matlab进行各自变量与测试时间的相关度计算,删除相关度小于预设阈值的自变量的历史数据。相关度取值范围为0~1,预设阈值可以为0.8。

s103:根据历史数据建立服务器性能测试任务的测试时间预测模型。

在具体实施中,可以采用神经网络算法训练测试时间预测模型,如采用bp神经网络模型。可以基于matlab提供的bp神经网络的gui界面来执行本步骤的操作。

步骤s103具体可以包括:

基于历史数据建立训练样本和测试样本;

利用训练样本训练预设的神经网络模型,得到初始测试时间预测模型;

利用测试样本测试初始测试时间预测模型的预测误差;

利用预测误差调整初始测试时间预测模型,得到测试时间预测模型。

在实际应用中,可以应用历史数据中80%的数据构建训练样本,应用历史数据中20%的数据构建测试样本。如对于一个类型的服务器性能测试任务的10个历史记录,取其中的任意8组数据构建训练样本,剩余的2组数据构建测试样本。

将训练样本的数据导入matlab提供的bp神经网络模型,模型参数均设置为默认,开始对测试时间预测模型的训练,直至测试时间预测模型达到收敛结束。将测试样本的数据输入训练好的初始测试时间预测模型中,将初始测试时间预测模型得到的测试时间预测结果和测试时间真实值进行对比,验证初始测试时间预测模型的预测误差。利用预测误差调整初始测试时间预测模型,直至预测误差小于预设的误差阈值,结束整体训练过程,得到测试时间预测模型。

s104:接收服务器测试任务中各自变量的变量值。

s105:将变量值输入测试时间预测模型,得到服务器性能测试任务的测试时间预测结果。

利用训练好的测试时间预测模型,在进行同类型的服务器性能测试任务时,接收或采集各自变量的变量值,即可得到测试时间预测结果。

本发明实施例提供的服务器性能测试时间的预测方法,通过获取服务器性能测试任务中的测试变量,采集测试变量的测试时间的历史数据,根据历史数据建立服务器性能测试任务的测试时间预测模型,从而得到与当前的服务器性能测试任务对应的测试时间预测模型,将服务器测试任务中各测试变量的变量值输入该测试时间预测模型,即可得到针对该服务器性能测试任务的准确的测试时间预测结果,进而可以协助对项目进度的监控,有助于测试人员做好测试计划,避免出现项目交付延期的纰漏。

图2为本发明实施例提供的第二种服务器性能测试时间的预测方法的流程图。

在上述实施例的基础上,由于每个自变量往往对应多个变量值,这些变量值中有的是当前的服务器性能测试任务中必要的设置,如服务器机型、cpu型号等,有的则是可选的设置,如采用的测试脚本的版本。为提高测试效率,有必要探究在满足测试要求的前提下最节约测试时间的整体方案。因此在上述实施例的基础上,在本发明实施例提供的服务器性能测试时间的预测方法中,如图2所示,在步骤s105之后,还包括:

s201:在根据服务器性能测试任务的多个变量值组得到的测试时间预测结果中,确定最小的测试时间预测结果对应的变量值组。

其中,一个变量值组为在一次服务器性能测试任务中各自变量的变量值的组合。

在具体实施中,确定可选变量值的自变量,重复步骤s104-s105可以得到不同的自变量的变量值的组合得到的测试时间预测结果,从中确定最小的测试时间预测结果,输出对应的自变量的变量值的组合。如其他自变量的变量值不便,分别计算不同的测试脚本的版本下的测试时间预测值,从而得到最合适的测试脚本的版本。

s202:输出最小的测试时间预测结果对应的变量值组。

输出最小的测试时间预测结果对应的变量值组以供测试人员参考。

图3为本发明实施例提供的第三种服务器性能测试时间的预测方法的流程图。

随着同类型的服务器性能测试任务的测试数据的增加,可能某些自变量可选的变量值会发生变动,而固有的测试属性可能也会发生变化,此时需要对测试时间预测模型进行更新。因此在上述实施例的基础上,在本发明实施例提供的服务器性能测试时间的预测方法中,如图3所示,在步骤s105之后,还包括:

s301:在得到服务器性能测试任务的测试时间真实值后,利用测试时间真实值更新测试时间预测模型。

随着项目数据的增加,可以不断增加样本进行模型训练,从而不断提高测试时间预测模型的预测准确度,形成一个不断更新的神经网络模型。

上文详述了服务器性能测试时间的预测方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的服务器性能测试时间的预测装置、设备及存储介质。

图4为本发明实施例提供的一种服务器性能测试时间的预测装置的结构示意图。

如图4所示,本发明实施例提供的服务器性能测试时间的预测装置包括:

获取单元401,用于获取服务器性能测试任务中的测试变量的类型;测试变量的类型包括自变量和测试时间;

采集单元402,用于采集测试变量的历史数据;

建模单元403,用于根据历史数据建立服务器性能测试任务的测试时间预测模型;

接收单元404,用于接收服务器测试任务中各自变量的变量值;

计算单元405,用于将变量值输入测试时间预测模型,得到服务器性能测试任务的测试时间预测结果。

可选的,当服务器性能测试任务为采用speccpu对cpu进行的性能测试时,自变量具体包括:

服务器机型、cpu型号、cpu核数、cpu物理颗数、单颗cpu核心数、cpu基频、cpu最大频率、内存数量、内存工作频率、内存厂商、单条内存容量、运行speccpu脚本的硬盘4k随机读写ipos和硬盘1024k顺序读写带宽。

进一步的,本发明实施例提供的服务器性能测试时间的预测装置还可以包括:

相关度计算单元,用于在建模单元403根据所述历史数据建立服务器性能测试任务的测试时间预测模型之前,根据历史数据计算各自变量与测试时间的相关度;

删除单元,用于删除相关度小于预设阈值的自变量的历史数据。

具体的,建模单元403具体可以包括:

构建子单元,用于基于历史数据建立训练样本和测试样本;

训练子单元,用于利用训练样本训练预设的神经网络模型,得到初始测试时间预测模型;

测试子单元,用于利用测试样本测试初始测试时间预测模型的预测误差;

调整子单元,用于利用预测误差调整初始测试时间预测模型,得到测试时间预测模型。

其中,预设的神经网络模型具体可以为bp神经网络模型。

进一步的,本发明实施例提供的服务器性能测试时间的预测装置还可以包括:

确定单元,用于在计算单元405得到服务器性能测试任务的测试时间预测结果之后,在根据服务器性能测试任务的多个变量值组得到的测试时间预测结果中,确定最小的测试时间预测结果对应的变量值组;

输出单元,用于输出最小的测试时间预测结果对应的变量值组;

其中,一个变量值组为在一次服务器性能测试任务中各自变量的变量值的组合。

进一步的,本发明实施例提供的服务器性能测试时间的预测装置还可以包括:

更新单元,用于在得到服务器性能测试任务的测试时间真实值后,利用测试时间真实值更新测试时间预测模型。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图5为本发明实施例提供的一种服务器性能测试时间的预测设备的结构示意图。

如图5所示,本发明实施例提供的服务器性能测试时间的预测设备包括:

存储器510,用于存储指令,所述指令包括上述任意一项实施例所述的服务器性能测试时间的预测方法的步骤;

处理器520,用于执行所述指令。

其中,处理器520可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器520可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器520也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器520可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器520还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器510可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器510还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器510至少用于存储以下计算机程序511,其中,该计算机程序511被处理器520加载并执行之后,能够实现前述任一实施例公开的服务器性能测试时间的预测方法中的相关步骤。另外,存储器510所存储的资源还可以包括操作系统512和数据513等,存储方式可以是短暂存储或者永久存储。其中,操作系统512可以为windows。数据513可以包括但不限于上述方法所涉及到的数据。

在一些实施例中,服务器性能测试时间的预测设备还可包括有显示屏530、电源540、通信接口550、输入输出接口560、传感器570以及通信总线580。

本领域技术人员可以理解,图5中示出的结构并不构成对服务器性能测试时间的预测设备的限定,可以包括比图示更多或更少的组件。

本申请实施例提供的服务器性能测试时间的预测设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的服务器性能测试时间的预测方法,效果同上。

需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。

为此,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现如服务器性能测试时间的预测方法的步骤。

该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本实施例中提供的存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的服务器性能测试时间的预测方法的步骤,效果同上。

以上对本发明所提供的一种服务器性能测试时间的预测方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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