在SQL数据库下管理处理器核心数的方法和装置制造方法及图纸

技术编号:19341422 阅读:24 留言:0更新日期:2018-11-07 13:38
本发明专利技术提供一种在SQL数据库下管理处理器核心数的方法和装置。所述方法,包括:在Windows2008系统下,检测到运行SQL服务器数据库的请求后,获取非统一内存访问架构NUMA节点中响应SQL服务器数据库的请求的至少两个目标处理器分组;将所述至少两个目标处理器分组调整为核心总数不等的处理器分组;在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求。

Method and device for managing processor core number under SQL database

The invention provides a method and device for managing processor core numbers under SQL database. The method includes: in Windows 2008 system, after detecting the request to run the SQL server database, obtaining at least two target processor groups in NUMA node of non-uniform memory access architecture that respond to the request of the SQL server database; and adjusting the at least two target processor groups to different core totals. Processor grouping; after adjusting the processor grouping, the adjusted processor grouping is used to respond to the request of the SQL server database.

【技术实现步骤摘要】
在SQL数据库下管理处理器核心数的方法和装置
本专利技术涉及计算机领域,尤其涉及一种在SQL数据库下管理处理器核心数的方法和装置。
技术介绍
在Windows系统中,物理服务器的处理器核心数大于64核心时,系统会将处理器核心分组。在处理分组时,会考虑NUMA(NonUniformMemoryAccessArchitecture,非统一内存访问架构)节点的因素,将相同NUMA节点的处理器核分到一个组。例如,在SQLServer数据库中,在单个实例运行时,只能分配到单一处理器组。在实现本专利技术过程中,专利技术人发现现有技术存在如下问题:目前,Windows系统对总核心数大于64的处理器分组时,自动分组一般会将NUMA节点平均分配,常常导致一个处理器组的核心数未达最大值。如果在启动SQLServer数据库单个实例时,无法尽可能多的利用处理器核心数,导致其性能相对较差。
技术实现思路
本专利技术提供一种在SQL数据库下管理处理器核心数的方法和装置,要解决问题是如何提升SQLServer数据库单个实例的响应性能。为解决上述技术问题,本专利技术提供了如下技术方案:一种在SQL数据库下管理处理器核心数的方法,包括:在Windows2008系统下,检测到运行SQL服务器数据库的请求后,获取非统一内存访问架构NUMA节点中响应SQL服务器数据库的请求的至少两个目标处理器分组;将所述至少两个目标处理器分组调整为核心总数不等的处理器分组;在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求。其中,所述方法还具有如下特点:所述将所述至少两个目标处理器分组调整为核心数不同的多个处理器分组,包括:获取处理器分组的核心总数的最大值;根据所述核心总数的最大值,调整所述处理器分组的核心数。其中,所述方法还具有如下特点:所述将所述至少两个目标处理器分组调整为核心数不同的多个处理器分组之后,所述方法还包括:获取处理器核数的小于64个的至少两个处理器;根据所述处理器分组的核心总数的最大值,将所述至少两个处理器分配到同一个处理器分组。其中,所述方法还具有如下特点:所述将所述至少两个目标处理器分组调整为核心总数不等的处理器分组,包括:从NUMA节点的注册表中,获取NUMA节点的处理器分组的注册表;在处理器分组的注册表中增加临近域和组作业域的选项;接收对所述选项中的配置结果;根据所述配置结果调整处理器分组的核心总数。其中,所述方法还具有如下特点:所述在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求,包括:在接收到SQL服务器数据库的单个实例的处理请求时,获取用于响应该处理请求所需核心数;根据所需核心数,为所述单个实例选择对应的目标分组;利用所述目标分组响应所述单个实例。一种在SQL数据库下管理处理器核心数的装置,包括:获取模块,用于在Windows2008系统下,检测到运行SQL服务器数据库的请求后,获取非统一内存访问架构NUMA节点中响应SQL服务器数据库的请求的至少两个目标处理器分组;调整模块,用于将所述至少两个目标处理器分组调整为核心总数不等的处理器分组;响应模块,用于在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求。其中,所述装置还具有如下特点:所述调整模块包括:第一获取单元,用于获取处理器分组的核心总数的最大值;第一调整单元,用于根据所述核心总数的最大值,调整所述处理器分组的核心数。其中,所述装置还具有如下特点:所述装置还包括:获取模块,用于在将所述至少两个目标处理器分组调整为核心数不同的多个处理器分组之后,获取处理器核数的小于64个的至少两个处理器;分配模块,用于根据所述处理器分组的核心总数的最大值,将所述至少两个处理器分配到同一个处理器分组。其中,所述装置还具有如下特点:所述获取模块包括:第二获取单元,用于从NUMA节点的注册表中,获取NUMA节点的处理器分组的注册表;增加单元,用于在处理器分组的注册表中增加临近域和组作业域的选项;接收单元,用于接收对所述选项中的配置结果;第二调整单元,用于根据所述配置结果调整处理器分组的核心总数。其中,所述装置还具有如下特点:所述响应模块包括:第三获取单元,在接收到SQL服务器数据库的单个实例的处理请求时,获取用于响应该处理请求所需核心数;选择单元,用于根据所需核心数,为所述单个实例选择对应的目标分组;响应单元,用于利用所述目标分组响应所述单个实例。本专利技术提供的实施例,在Windows2008R2系统下,在处理SQL服务器数据库的请求后,将NUMA节点中响应SQL服务器数据库的至少两个目标处理器分组调整为核心总数不等的分组,使SQLServer数据库单个实例运行在较多的处理器核心上,可提升其性能。附图说明图1为本专利技术实施例提供的在SQL数据库下管理处理器核心数的方法的流程图;图2为现有技术中核心数分组的响应SQLServer请求的交互图;图3为本专利技术提供的优化后核心数分组后响应SQLServer请求的交互图。图4为在本专利技术实施例提供的在SQL数据库下管理处理器核心数的装置的结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本专利技术作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在Windows2008系统下,系统自动为大于64处理器核心数进行分组,一般在处理器核心数大于64但又小于128时,操作系统就会自动将处理器核心数进行平均分组。如系统80core时,2个NUMA节点时,分两组为40+40core。这种情况下,Windows2008系统下启动sqlserver实例时,只会运行在一个40core的分组上,不能充分发挥服务器多核心的优势。本专利技术就旨在将尽可能多的处理器核心数分配到一个组,使SQLServer数据库单个实例运行在较多的处理器核心上,可提升其性能。图1为本专利技术实施例提供的在SQL数据库下管理处理器核心数的方法的流程图。图1所示方法,包括:步骤101、在Windows2008系统下,检测到运行SQL服务器数据库的请求后,获取非统一内存访问架构NUMA节点中响应SQL服务器数据库的请求的至少两个目标处理器分组;步骤102、将所述至少两个目标处理器分组调整为核心总数不等的处理器分组;步骤103、在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求。本专利技术提供的方法实施例,在Windows2008R2系统下,在处理SQL服务器数据库的请求后,将NUMA节点中响应SQL服务器数据库的至少两个目标处理器分组调整为核心总数不等的分组,使SQLServer数据库单个实例运行在较多的处理器核心上,可提升其性能。下面对本专利技术提供的方法作进一步说明:图2为现有技术中核心数分组的响应SQLServer请求的交互图。在图2中,每个分组的核心数是相同的,因此,无论单个实例运行所需的处理器的核心数是多少,系统能够提供的核心数都是一样的,那么这种情况下,对于所需核心数远小于40个的单个实例,这样的服务器分组是资源过剩的,对应的,对于所需核心数远大于40个的单个实例,这样的服务器分组是资源不足的,因此,现有技术的资源分配方式是本文档来自技高网...

【技术保护点】
1.一种在SQL数据库下管理处理器核心数的方法,其特征在于,包括:在Windows2008系统下,检测到运行SQL服务器数据库的请求后,获取非统一内存访问架构NUMA节点中响应SQL服务器数据库的请求的至少两个目标处理器分组;将所述至少两个目标处理器分组调整为核心总数不等的处理器分组;在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求。

【技术特征摘要】
1.一种在SQL数据库下管理处理器核心数的方法,其特征在于,包括:在Windows2008系统下,检测到运行SQL服务器数据库的请求后,获取非统一内存访问架构NUMA节点中响应SQL服务器数据库的请求的至少两个目标处理器分组;将所述至少两个目标处理器分组调整为核心总数不等的处理器分组;在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求。2.根据权利要求1所述的方法,其特征在于,所述将所述至少两个目标处理器分组调整为核心数不同的多个处理器分组,包括:获取处理器分组的核心总数的最大值;根据所述核心总数的最大值,调整所述处理器分组的核心数。3.根据权利要求1或2所述的方法,其特征在于,所述将所述至少两个目标处理器分组调整为核心数不同的多个处理器分组之后,所述方法还包括:获取处理器核数的小于64个的至少两个处理器;根据所述处理器分组的核心总数的最大值,将所述至少两个处理器分配到同一个处理器分组。4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述至少两个目标处理器分组调整为核心总数不等的处理器分组,包括:从NUMA节点的注册表中,获取NUMA节点的处理器分组的注册表;在处理器分组的注册表中增加临近域和组作业域的选项;接收对所述选项中的配置结果;根据所述配置结果调整处理器分组的核心总数。5.根据权利要求1所述的方法,其特征在于,所述在调整所述处理器分组后,利用调整后的处理器分组响应所述SQL服务器数据库的请求之后,所述方法还包括:在接收到SQL服务器数据库的单个实例的处理请求时,获取用于响应该处理请求所需核心数;根据所需核心数,为所述单个实例选择对应的目标分组;利用所述目标分组响应所述单个实例。6.一种在...

【专利技术属性】
技术研发人员:刘丽
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1