本发明专利技术涉及一种基于历史数据和机器学习的服务器自动调优方法及系统,包括:采集服务器各容器的历史性能数据,并构建历史数据集;选取所述历史性能数据中与性能最相关的相关特征,作为性能需求预测模型的输入;对采集的所述历史性能数据进行预处理,并将经过预处理的数据划分为训练集和验证集;应用机器学习算法建立性能需求预测模型,所述性能需求预测模型将学习容器性能需求与输入特征之间的关系;将服务器当前容器的特征数据输入至训练好的性能需求预测模型,预测未来的性能需求;根据预测结果进行资源调整
【技术实现步骤摘要】
基于历史数据和机器学习的服务器自动调优方法及系统
[0001]本专利技术涉及计算机
,尤其涉及一种基于历史数据和机器学习的服务器自动调优方法及系统
。
技术介绍
[0002]容器是一组进程的集合,这些进程共享了一个操作系统实例,但是独立于服务器系统中的其它进程
。
容器是新型的操作系统级虚拟化技术,与传统的虚拟机技术相比,其资源管理开销更小
、
启动速度更快
。
现有的服务器内,一般是多个容器运行在相同的硬件资源上,此时,在不同负载下,可能会出现性能不平衡或资源竞争的问题,针对该问题,常见的解决手段是通过告警或人为经验判断等方式,但是上述解决手段不但需要耗费较长时间判断,而且浪费人力资源,可靠性也不高
。
技术实现思路
[0003]本专利技术的目的在于克服现有技术的不足,提供一种基于历史数据和机器学习的服务器自动调优方法及系统
。
具体技术方案如下:
[0004]在本专利技术实施的第一方面,首先提供一种基于历史数据和机器学习的服务器自动调优方法,包括:
[0005]收集服务器各容器的历史性能数据,所述历史性能数据包括容器的资源使用情况以及容器的负载信息,对所述历史性能数据进行筛选和提取,构建历史数据集;
[0006]选取所述历史性能数据中与性能最相关的相关特征,作为性能需求预测模型的输入;
[0007]对所述构建的历史数据集进行预处理,并将经过预处理的历史数据集划分为训练集和验证集;<br/>[0008]应用机器学习算法建立性能需求预测模型,根据训练集的历史数据和相关特征对所述性能需求预测模型进行训练,所述性能需求预测模型学习容器性能需求与输入特征之间的关系;
[0009]使用所述验证集评估所述性能需求预测模型,通过比较预测结果与实际观测值的差异对模型进行优化和调整;
[0010]将服务器当前容器的特征数据输入至训练好的性能需求预测模型,预测未来的性能需求;
[0011]根据预测结果进行资源调整
。
[0012]可选的,其中,如果预测结果显示容器的性能需求即将增加,所述服务器进行资源调整,所述资源调整包括分配更多的计算资源
、
内存或网络带宽中的至少一种
。
[0013]可选的,其中,所述预处理包括数据清洗
、
缺失值处理
、
异常值检测中的至少一种
。
[0014]可选的,其中,所述机器学习算法是回归模型或时间序列模型或神经网络模型
。
[0015]可选的,其中,所述资源使用情况包括
CPU、
内存
、
网络
、
磁盘使用情况;所述容器的
负载信息包括请求量
、
处理时间
。
[0016]可选的,其中,所述资源使用情况和所述容器的负载信息的数据采集方式为定期采样或实时采样
。
[0017]可选的,其中,所述相关特征是容器的资源使用情况
、
容器的负载信息中的至少一种
。
[0018]在本专利技术实施的第二方面,还提供了一种基于历史数据和机器学习的服务器自动调优系统,包括:
[0019]虚拟化处理模块,对服务器进行虚拟化处理,分解为多个并行的容器节点;
[0020]日志收集器,根据日志采集配置文件采集容器产生的日志并且存储日志文件;
[0021]历史数据获取模块,用于从存储的日志文件中收集服务器各容器的历史性能数据,所述历史性能数据包括容器的资源使用情况以及容器的负载信息,对所述历史性能数据进行筛选和提取,构建历史数据集;
[0022]相关特征选择模块,用于通过特征选择算法选取所述历史性能数据中与性能最相关的相关特征,作为性能需求预测模型的输入;
[0023]数据预处理模块,用于对所述构建的历史数据集进行预处理,并将经过预处理的历史数据集划分为训练集和验证集;
[0024]预测模型构建模块,应用机器学习算法建立性能需求预测模型,根据训练集的历史数据和相关特征对所述性能需求预测模型进行训练,所述性能需求预测模型学习容器性能需求与输入特征之间的关系;
[0025]模型评估优化模块,用于使用所述验证集评估所述性能需求预测模型,通过比较预测结果与实际观测值的差异对模型进行优化和调整;
[0026]预测结果输出模块,用于将服务器当前各容器的特征数据输入至训练好的性能需求预测模型,预测未来的性能需求,输出预测结果;
[0027]资源总控大脑,用于根据所述预测结果进行资源调整,智能地将容器调度到最适合的物理服务器节点上
。
[0028]在本专利技术实施的第三方面,还提供了一种电子设备,包括处理器
、
存储器
、
通信总线以及通信接口,还可以包括存储在所述存储器中并可在所述处理器上运行的计算机程序,计算机程序执行实现如第一方面所述的基于历史数据和机器学习的服务器自动调优方法
。
[0029]在本专利技术实施的第四方面,还提供了一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现上述第一方面所述的基于历史数据和机器学习的服务器自动调优方法
。
[0030]本专利技术的优点和积极效果是:
[0031]1、
本专利技术根据预测的容器性能需求,可以自动进行资源调整,即时地重新分配计算
、
内存
、
网络等资源给予高需求的容器,以此实现资源的动态优化,提高容器的性能表现和整体系统效率;
[0032]2、
本专利技术可以智能地将容器调度到最适合的物理服务器节点上,以实现负载均衡,降低资源浪费,可以充分利用服务器资源,提高整个系统的稳定性和可用性;
[0033]3、
本专利技术根据实际情况不断迭代优化和改进预测模型,提高了性能预测的准确性
和稳定性
。
附图说明
[0034]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图
。
[0035]图1是本专利技术实施例中的基于历史数据和机器学习的服务器自动调优方法
100
的流程示意图;
[0036]图2是本专利技术实施例中的资源分配示意图;
[0037]图3是本专利技术实施例中的基于历史数据和机器学习的服务器自动调优系统
200
的单元模块示意图;
[0038]图4是本专利技术实施例中的电子设备
300
结构示意图
。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图,对本本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
基于历史数据和机器学习的服务器自动调优方法,其特征在于,包括:收集服务器各容器的历史性能数据,所述历史性能数据包括容器的资源使用情况以及容器的负载信息,对所述历史性能数据进行筛选和提取,构建历史数据集;选取所述历史性能数据中与性能最相关的相关特征,作为性能需求预测模型的输入;对所述构建的历史数据集进行预处理,并将经过预处理的历史数据集划分为训练集和验证集;应用机器学习算法建立性能需求预测模型,根据训练集的历史数据和相关特征对所述性能需求预测模型进行训练,所述性能需求预测模型学习容器性能需求与输入特征之间的关系;使用所述验证集评估所述性能需求预测模型,通过比较预测结果与实际观测值的差异对模型进行优化和调整;将服务器当前容器的特征数据输入至训练好的性能需求预测模型,预测未来的性能需求;根据预测结果进行资源调整
。2.
如权利要求1所述的方法,其特征在于,其中,如果预测结果显示容器的性能需求即将增加,所述服务器进行资源调整,所述资源调整包括分配更多的计算资源
、
内存或网络带宽中的至少一种
。3.
如权利要求1所述的方法,其特征在于,所述预处理包括数据清洗
、
缺失值处理
、
异常值检测中的至少一种
。4.
如权利要求1所述的方法,其特征在于,所述机器学习算法是回归模型或时间序列模型或神经网络模型
。5.
如权利要求1所述的方法,其特征在于,所述资源使用情况包括
CPU、
内存
、
网络
、
磁盘使用情况;所述容器的负载信息包括请求量
、
处理时间
。6.
如权利要求5所述的方法,其特征在于,所述资源使用情况和所述容器的负载信息的数据采集方式为定期采样或实时采样
。7.
如权利要求1所述的方法,其特征在于,所述相关特征是容器的...
【专利技术属性】
技术研发人员:张弛,张鹏兴,
申请(专利权)人:西安雷风电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。