本发明涉及存储设备测试技术领域,更具体的说是涉及一种存储设备性能的预测方法、系统及设备。
背景技术:
随着科学计算和各种网络应用的快速发展,人类产生的信息量越来越多,这使的数据的存储越来越被人们所关注,从而使得存储部件在整个计算机体系中所处的地位越来越重要,存储已经由单一的磁盘、磁带转向磁盘阵列,进而发展到当前流行的存储网络。大规模的数据应用需求不断涌现,海量数据及其应用也成为一个新的发展方向,数据存储已经对人们的工作和生活产生了巨大的影响,而其中对于使用的存储设备的各项性能提高也自然越来越需要关注。
单台存储设备的性能高低在硬件配置不做更改的前提下,对于不同的管理软件层面配置,得到的输入输出性能高低差异很大,如何判断配置存储设备在固定的硬件环境条件性能高低,是客户使用存储设备重点关注的问题,也是存储设备在性能测试时要达到的目标。
通常情况,存储设备关注的性能高低数据指标为iops(i/opersecond),即每秒最大i/o数。存储设备的性能值高低在硬件不变情况下,和选用的链路数量、raid级别、raid包含的磁盘数量、创建的lun数量、并发数等参数配置有关,在存储设备性能调优的过程中,每个参数调整都会影响性能的高低,一般情况下需要反复调试及结合经验才能选择出最优的存储性能配置,没有直接的理论依据及方案可以参照。
技术实现要素:
针对以上问题,本发明的目的在于提供一种存储设备性能的预测方法、系统及设备,通过adaboost迭代算法模型预测存储设备性能高低的方法,采用存储设备性能测试时各种配置参数和数据进行机器学习,得到一个智能的预测模型,为存储设备在用户使用、性能测试等场景判断参数配置方案优劣等问题。
adaboost(adaptiveboosting:自适应增强)迭代算法模型,是一种基于统计学习理论的提升算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器,即决策分类器,从而可以达到在统计样本量分散的情况下,获得良好统计规律的目的。
本发明为实现上述目的,通过以下技术方案实现:一种存储设备性能的预测方法,包括如下步骤:
s1:搭建存储设备环境,并收集测试数据;
s2:根据搭建adaboost迭代算法模型要求的测试数据表示方法,将收集的测试数据构造为数据样本特征空间向量;
s3:搭建adaboost迭代算法模型和数据样本输入输出接口;
s4:将不同配置的存储设备在不同环境下的性能测试结果,输入所述adaboost迭代算法模型,训练adaboost迭代算法;
s5:测试adaboost迭代算法模型,判断准确率是否达到预设值,若是,则训练成功并转到下一步;
s6:将待测存储设备的配置信息输入所述adaboost迭代算法模型,得到性能预测结论。
进一步,所述测试数据包括:存储设备的raid级别、raid包含的磁盘数量、输出链路数量、每个raid创建lun数量、测试性能的并发数和性能测试结果。
进一步,所述步骤s2包括:
所述存储设备的raid级别包括raid0、raid10、raid5、raid6,用x1={1,2,3,4}分别表示所述四种raid级别;
所述存储设备的raid包含的磁盘数量用x2={1,2,3……24}表示,其中最大的元素24表示当前对应的储产品最大支持24块磁盘数量;
所述存储设备的输出链路数量用x3={1,2,3……8}表示,其中最大的元素8表示当前对应的存储产品最大支持8条链路;
所述存储设备的raid下lun的划分按照场景可划分多个,用x4={1,2,3……10}表示,其中最大的元素10表示当前测试性能最大划分10个lun;
所述存储设备的测试性能的并发数按照实际场景,用x5={1,2,3……64}表示,其中最大的元素64表示实际测试场景最大并发数为64;
用y表示存储设备测试的性能测试结果。
进一步,所述步骤s3包括:
根据不同的性能测试场景得到的结果,建立adaboost迭代算法的数据样本特征空间训练数据模型如下:
t={(x1,y1),(x2,y2),…,(xn,yn)}
其中:
n=1,2,……,表示性能测试的次数;
xi,i=1,2,……n,表示第i次不同配置组合的特征向量,即由配置x1、x2、x3、x4、x5组成的5维特征向量;
yi={ 1,-1},i=1,2,……n,表示第i次由特征向量xi对应的测试结果y的标记,定义性能测试结果y<1000时yi=-1表示性能低;性能测试结果y≥1000时yi= 1表示性能高。
进一步,所述步骤s4还包括:
把特征空间向量t表示为图形及adaboost迭代算法模型要得到的最终结果并展示;
其中,在迭代的过程中求解最终的分类器函数f(x),预测存储设备性能高低时通过代入存储配置xi到f(x)得出预测的性能值高低分类。
进一步,所述求解最终的分类器函数f(x)的迭代算法步骤如下:
输入训练数据集t={(x1,y1),(x2,y2),…,(xn,yn)},迭代次数m;
初始化训练样本的权值分布为:
对于m=1,2,3,…,m,每次迭代包括:
使用具有权值分布dm的训练数据集进行学习,得到弱分类器gm(x);
计算gm(x)在训练数据集上的分类误差率:
计算gm(x)在强分类器中的比重:
更新训练数据集的权值分布:
得到最终分类器函数:
相应的,本发明还公开了一种存储设备性能的预测系统,包括:
数据准备单元,用于搭建存储设备环境,并收集测试数据;
向量构建单元,用于根据搭建adaboost迭代算法模型要求的测试数据表示方法,将收集的测试数据构造为数据样本特征空间向量;
模型搭建单元,用于搭建adaboost迭代算法模型和数据样本输入输出接口;
算法训练单元,用于将不同配置的存储设备在不同环境下的性能测试结果,输入所述adaboost迭代算法模型,训练adaboost迭代算法;
测试单元,用于测试adaboost迭代算法模型,判断准确率是否达到预设值,若是,则训练成功并转到下一步;
预测单元,用于将待测存储设备的配置信息输入所述adaboost迭代算法模型,得到性能预测结论。
相应的,本发明还公开了一种存储设备性能的预测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述存储设备性能的预测方法步骤。
相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述存储设备性能的预测方法步骤。
对比现有技术,本发明有益效果在于:本发明提供了一种存储设备性能的预测方法、系统及设备,通过adaboost迭代算法模型预测存储设备性能的高低,能够有效的利用开发测试存储设备时获得的各种数据样本,进行机器学习后得到的adaboost迭代算法模型可以对用户使用存储设备获得更优配置方案、减少了开发测试人员调优存储设备的工作量,具备很强的实用性。
本发明操作便利,不需要复杂处理和人为干预,只需不断的进行数据样本输入,模型自动学习完善,可操作性很强。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的方法流程图。
附图2是本发明的系统结构图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
如图1所示的一种存储设备性能的预测方法,包括如下步骤:
s1:搭建存储设备环境,并收集测试数据。
所述测试数据包括:存储设备的raid级别、raid包含的磁盘数量、输出链路数量、每个raid创建lun数量、测试性能的并发数和性能测试结果。
s2:根据搭建adaboost迭代算法模型要求的测试数据表示方法,将收集的测试数据构造为数据样本特征空间向量。
对于每台存储设备进行性能测试,得到不同配置下的性能数据,不同的配置、性能结果及数据样本表示方法如下:
1、raid级别:存储的raid级别包括raid0、raid10、raid5、raid6,数据用x1={1,2,3,4}分别表示4中raid级别。
2、raid包含的磁盘数量:raid包含的磁盘数量多少会影响性能的高低,磁盘数量用x2={1,2,3……24}表示,其中最大的元素24表示当前对应的公司存储产品最大支持24块磁盘数量。
3、存储的输出链路数量:输出链路根据存储产品特性,用x3={1,2,3……8}表示,其中最大的元素8表示当前对应公司存储产品最大支持8条链路。
4、每个raid创建lun数量:raid下lun的划分按照场景可划分多个,用x4={1,2,3……10}表示,其中最大的元素10表示当前测试性能最大划分10个lun。
5、测试性能的并发数:并发数按照实际场景,用x5={1,2,3……64}表示,其中最大的元素64表示实际测试场景最大并发数为64。
6、性能测试结果:用y表示不同配置下测试的iops结果。
s3:搭建adaboost迭代算法模型和数据样本输入输出接口。
根据不同的性能测试场景得到的结果,建立数据样本特征空间训练数据模型如下:
t={(x1,y1),(x2,y2),…,(xn,yn)}
其中:
n=1,2,……,表示性能测试的次数;
xi,i=1,2,……n,表示第i次不同配置组合的特征向量,即由配置x1、x2、x3、x4、x5组成的5维特征向量。如x1=(1,2,3,4,5)表示配置存储raid0、2块磁盘、3条链路、4个lun、并发数5。
yi={ 1,-1},i=1,2,……n,表示第i次由特征向量xi对应的测试结果y的标记,定义iops性能结果y<1000时yi=-1表示性能低;iops性能结果y≥1000时yi= 1表示性能高。
s4:将不同配置的存储设备在不同环境下的性能测试结果,输入所述adaboost迭代算法模型,训练adaboost迭代算法。
本步骤还包括:把特征空间向量t表示为图形及adaboost迭代算法模型要得到的最终结果展示,迭代的过程既是求解最终的分类器函数f(x)用来描述分类后的区域,之后预测存储设备性能高低时只用代入存储配置xi到f(x)即可直接得到预测的性能值高低分类。
其中,求解最终的分类器函数f(x)的迭代算法步骤如下:
输入训练数据集t={(x1,y1),(x2,y2),…,(xn,yn)},迭代次数m;
初始化训练样本的权值分布为:
对于m=1,2,3,…,m,每次迭代包括:
使用具有权值分布dm的训练数据集进行学习,得到弱分类器gm(x);
计算gm(x)在训练数据集上的分类误差率:
计算gm(x)在强分类器中的比重:
更新训练数据集的权值分布:
得到最终分类器函数:
s5:测试adaboost迭代算法模型,判断准确率是否达到预设值,若是,则训练成功并转到下一步。
s6:将待测存储设备的配置信息输入所述adaboost迭代算法模型,得到性能预测结论。
在上述存储设备性能的预测方法的基础上,对adaboost迭代算法模型预测存储设备性能高低的过程做出进一步详细说明:
(1)、存储设备要关注性能指标主要为iops,不同的配置方案在硬件不变条件下,配置的链路数量、raid级别、raid包含的磁盘数量、创建的lun数量、并发数等条件参数都会影响存储设备性能的高低,实际使用或测试时为了确定的性能结果,通常要反复组合各种条件参数调试,并结合一定的经验才能够确定结果,费时费力且结论误差不能保障。
(2)、使用adaboost迭代算法模型,可以有效利用测试时搭配不同条件得到的数据,把这些数据作为数据样本,输入模型进行算法训练。
(3)、算法训练完成后,通过测试达到预期的准确率,之后使用该存储设备时,在不同的需求场景下要确定配置的性能结果高低,不用再进行实际的测试,只用输入配置信息到模型中,即可得到不同组合搭配的性能高低预期结论。
相应的,如图2所示,本发明还公开了一种存储设备性能的预测系统,包括:
数据准备单元,用于搭建存储设备环境,并收集测试数据。
向量构建单元,用于根据搭建adaboost迭代算法模型要求的测试数据表示方法,将收集的测试数据构造为数据样本特征空间向量。
模型搭建单元,用于搭建adaboost迭代算法模型和数据样本输入输出接口。
算法训练单元,用于将不同配置的存储设备在不同环境下的性能测试结果,输入所述adaboost迭代算法模型,训练adaboost迭代算法。
测试单元,用于测试adaboost迭代算法模型,判断准确率是否达到预设值,若是,则训练成功并转到下一步。
预测单元,用于将待测存储设备的配置信息输入所述adaboost迭代算法模型,得到性能预测结论。
相应的,本发明还公开了一种存储设备性能的预测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述存储设备性能的预测方法步骤。
相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述存储设备性能的预测方法步骤。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
1.一种存储设备性能的预测方法,其特征在于,包括如下步骤:
s1:搭建存储设备环境,并收集测试数据;
s2:根据搭建adaboost迭代算法模型要求的测试数据表示方法,将收集的测试数据构造为数据样本特征空间向量;
s3:搭建adaboost迭代算法模型和数据样本输入输出接口;
s4:将不同配置的存储设备在不同环境下的性能测试结果,输入所述adaboost迭代算法模型,训练adaboost迭代算法;
s5:测试adaboost迭代算法模型,判断准确率是否达到预设值,若是,则训练成功并转到下一步;
s6:将待测存储设备的配置信息输入所述adaboost迭代算法模型,得到性能预测结论。
2.根据权利要求1所述的存储设备性能的预测方法,其特征在于,所述测试数据包括:存储设备的raid级别、raid包含的磁盘数量、输出链路数量、每个raid创建lun数量、测试性能的并发数和性能测试结果。
3.根据权利要求2所述的存储设备性能的预测方法,其特征在于,所述步骤s2包括:
所述存储设备的raid级别包括raid0、raid10、raid5、raid6,用x1={1,2,3,4}分别表示所述四种raid级别;
所述存储设备的raid包含的磁盘数量用x2={1,2,3……24}表示,其中最大的元素24表示当前对应的储产品最大支持24块磁盘数量;
所述存储设备的输出链路数量用x3={1,2,3……8}表示,其中最大的元素8表示当前对应的存储产品最大支持8条链路;
所述存储设备的raid下lun的划分按照场景可划分多个,用x4={1,2,3……10}表示,其中最大的元素10表示当前测试性能最大划分10个lun;
所述存储设备的测试性能的并发数按照实际场景,用x5={1,2,3……64}表示,其中最大的元素64表示实际测试场景最大并发数为64;
用y表示存储设备测试的性能测试结果。
4.根据权利要求3所述的存储设备性能的预测方法,其特征在于,所述步骤s3包括:
根据不同的性能测试场景得到的结果,建立adaboost迭代算法的数据样本特征空间训练数据模型如下:
t={(x1,y1),(x2,y2),…,(xn,yn)}
其中:
n=1,2,……,表示性能测试的次数;
xi,i=1,2,……n,表示第i次不同配置组合的特征向量,即由配置x1、x2、x3、x4、x5组成的5维特征向量;
yi={ 1,-1},i=1,2,……n,表示第i次由特征向量xi对应的测试结果y的标记,定义性能测试y<1000时yi=-1表示性能低;性能测试y≥1000时yi= 1表示性能高。
5.根据权利要求4所述的存储设备性能的预测方法,其特征在于,所述步骤s4还包括:
把特征空间向量t表示为图形及adaboost迭代算法模型要得到的最终结果并展示;
其中,在迭代的过程中求解最终的分类器函数f(x),预测存储设备性能高低时通过代入存储配置xi到f(x)得出预测的性能值高低分类。
6.根据权利要求5所述的存储设备性能的预测方法,其特征在于,所述求解最终的分类器函数f(x)的迭代算法步骤如下:
输入训练数据集t={(x1,y1),(x2,y2),…,(xn,yn)},迭代次数m;
初始化训练样本的权值分布为:
对于m=1,2,3,…,m,每次迭代包括:
使用具有权值分布dm的训练数据集进行学习,得到弱分类器gm(x);
计算gm(x)在训练数据集上的分类误差率:
计算gm(x)在强分类器中的比重:
更新训练数据集的权值分布:
得到最终分类器函数:
7.一种存储设备性能的预测系统,其特征在于,包括:
数据准备单元,用于搭建存储设备环境,并收集测试数据;
向量构建单元,用于根据搭建adaboost迭代算法模型要求的测试数据表示方法,将收集的测试数据构造为数据样本特征空间向量;
模型搭建单元,用于搭建adaboost迭代算法模型和数据样本输入输出接口;
算法训练单元,用于将不同配置的存储设备在不同环境下的性能测试结果,输入所述adaboost迭代算法模型,训练adaboost迭代算法;
测试单元,用于测试adaboost迭代算法模型,判断准确率是否达到预设值,若是,则训练成功并转到下一步;
预测单元,用于将待测存储设备的配置信息输入所述adaboost迭代算法模型,得到性能预测结论。
8.一种存储设备性能的预测设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述存储设备性能的预测方法步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述存储设备性能的预测方法步骤。
技术总结