一种基于内核调优的提升系统性能的方法及装置与流程

文档序号:14474118阅读:136来源:国知局
一种基于内核调优的提升系统性能的方法及装置与流程

本发明涉及计算机技术领域,具体地说是一种基于内核调优的提升系统性能的方法及装置。



背景技术:

公司大部分机器都使用统一的默认内核配置参数,作为最底层的内核,一些配合运行系统的参数修改能大幅提升系统性能;可以通过内核参数调优,提升系统的处理能力,并分析系统性能瓶颈所在。

内核参数调优旨在通过观察系统状态,发现系统参数不合理处,通过调整系统内核的部分参数,来提高应用的性能。系统的内核参数在程序的运行过程中,有着至关重要的作用,而内核本身也提供了各种手段供用户来修改相关的内核参数,以支持不同的应用场景。

现在我们内核在应用方面,一般都是使用的默认配置,对每个产品线进行独立地人为调优,工作效率低。



技术实现要素:

本发明实施例中提供了一种基于内核调优的提升系统性能的方法及装置,以解决现有技术中人为调优工作效率低的问题

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一发明提供了一种基于内核调优的提升系统性能的方法,该方法包括以下步骤:

获取系统的监控项数据;

按照规则库,对监控项数据进行mapreduce作业,筛选出系统性能存在瓶颈的计算机;

获取瓶颈计算机的内核参数,从mysql存储的方案库中选取相应的解决方案。

结合第一方面,在第一方面第一种可能的实现方式中,所述监控项数据包括cpu_idle和time_wait。

结合第一方面,在第一方面第二种可能的实现方式中,所述规则库中每条规则对应一个mapreduce参数可变的调优算子,每个调优算子组成一个有向无环拓扑图,将多条规则对应的拓扑图组合成新拓扑图。

结合第一方面,在第一方面第二种可能的实现方式中,在进行mapreduce作业时,对所述新拓扑图进行切分,形成若干次mapreduce作业。

结合第一方面,在第一方面第三种可能的实现方式中,所述解决方案为从mysql中调用相关命令,对系统性能进行调优。

本发明第二发明提供了一种基于内核调优的提升系统性能的装置,该装置包括数据采集系统、调优平台和mysql方案库,所述数据采集系统用于采集计算机的监控项数据,并将所述监控项数据发送给调优平台,所述调优平台对监控项数据进行mapreduce作业,筛选出系统性能存在瓶颈的计算机,所述mysql方案库中存储了内核参数及相应的调优方案。

结合第二方面,在第二方面第一种可能的实现方式中,所述数据采集系统还用于采集瓶颈计算机系统的内核参数数据,并把采集的内核参数数据发送给调优平台,调优平台通过获取的内核参数数据,从mysql方案库中调用相应的调优方案,对内核参数进行调优。

本发明第二方面的一种基于内核调优的提升系统性能的装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

1、通过获取计算机系统的监控数据,对监控数据进行mapreduce作业,筛选出系统性能存在瓶颈的计算机,并获取瓶颈计算机的内核参数,从mysql存储的方案库中选取相应的解决方案,从而通过对内核参数调优,提升系统的性能,整个过程无需认为参与,提供工作效率,且上述过程不断进行,保证计算机的系统性能持续处于最佳状态。

2、规则库中的每条规则对应一个调优算子,每个调优算子组成一个有向无环的拓扑图,在加入新的规则时,只需要将新规则对应的拓扑图组合成新拓扑图即可,无需对新加入的规则编写完整的逻辑代码,操作方便,且对拓扑图进行mapreduce作业时,调优平台对拓扑图进行切分,对各子拓扑图分同时进行mapreduce作业,提高mapreduce作业的效率,快速筛选出系统性能存在瓶颈的计算机。

3、在进行系统性能调优时,直接从mysql方案库中调用解决方案,在提高调优效率的同时,避免人为调优造成的错误,增强调优结果的可靠性。

附图说明

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

图1是一种基于内核调优的提升系统性能的方法的流程示意图;

图2是调优算子组成的一种拓扑示意图;

图3是本发明实施例所应用的一种基于内核调优的提升系统性能系统的结构示意图。

具体实施方式

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

如图1所示,本发明的一种基于内核调优的提升系统性能的方法包括以下步骤:

s1,获取系统的监控项数据;

s2,按照规则库,对监控项数据进行mapreduce作业,筛选出系统性能存在瓶颈的计算机;

s3,获取瓶颈计算机的内核参数,从mysql存储的方案库中选取相应的解决方案。

步骤s1中,获取的监控数据包括cpu_idle和time_wait等。

步骤s2中的规则库是指每个监控数据对应的筛选规则形成的规则库,例如监控数据cpu_idle对应的规则为cpu_idle_low,在进行mapreduce作业时,即筛选出cpu_idle低于设定阈值的计算机,此处阈值可根据实际情况自行设定。

为了保证规则库的可扩展性和通用性,将规则库中每条规则对应一个mapreduce参数可变的调优算子,每个调优算子组成一个有向无环拓扑图。这样一来,当进行多条规则的匹配时,不同的规则又可以组合成一个新的大拓补结构。例如在加入新的规则时,只需要将新规则对应的拓扑图组合成新拓扑图即可。在进行mapreduce作业时,会对这个大拓补图进行切分,将其整理成若干轮mapreduce作业进行计算。使多条规则可以最大程度上地并行计算,而不是匹配完一条规则再进行一条规则的匹配,提高作业效率。

如图2所示,调优算子组成的拓扑图。其中调优算子分为operation和aggregation两大类。operation类是对单条记录进行操作,同时也只输出单条记录;aggregation类则是对多条记录进行聚合,输出一到多条记录。常用的调优算子有以下几种:

initialize(初始化算子):operation类型,所有规则的入口算子,用于将文本格式的数据转换成相应的数据结构以方便后续处理。

filter(过滤算子):operation类型,用于对单条记录进行过滤。

refactor(重构算子):operation类型,用于对单条记录之间key/value字段之间的转换删除或顺序调整。

simplejoin(组合算子):aggregation类型,用于将key相同的记录join成一条新的记录。

timefilter(时间过滤算子):aggregation类型,用于将符合条件规则的时间段筛选出来,不符合的过滤掉。

步骤s3中,获取步骤s2中筛选出的具有性能瓶颈计算机的内核参数,对应这些参数,调优平台再从mysql存储的解决方案库中选取相应的解决方案。比如当cpu_idle过低时对应mysql存储的内核参数修解决方案是./bioscfg.py-scstate=off,比如当sockettime_wait状态过多占用大量port对应mysql存储的内核参数修解决方案是调用/proc/sys/net/ipv4/tcp_tw_reuse=1;/proc/sys/net/ipv4/tcp_timestamps=1;/proc/sys/net/ipv4/tcp_tw_recycle=1,从而对这些机器的性能不断调优。

如图3所示,本发明的一种基于内核调优的提升系统性能的装置,该装置包括数据采集系统1、调优平台2和mysql方案库3,数据采集系统用于采集计算机的监控项数据,并将监控项数据发送给调优平台2,调优平台2对监控项数据进行mapreduce作业,筛选出系统性能存在瓶颈的计算机,mysql方案库3中存储了内核参数及相应的调优方案。

数据采集系统1还用于采集瓶颈计算机系统的内核参数数据,并把采集的内核参数数据发送给调优平2台,调优平台2通过获取的内核参数数据,从mysql方案3库中调用相应的调优方案,对内核参数进行调优。

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

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