一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务器的优化方法、系统、设备及存储介质与流程

2021-10-24 13:02:00 来源:中国专利 TAG:服务器 优化 方法 设备 存储介质


1.本发明涉及服务器技术领域,特别是涉及一种服务器的优化方法、系统、设备及存储介质。


背景技术:

2.随着人工智能的飞速发展,用户对各种数据的计算量也在不断增加,但是,由于对服务器不够深入了解,经常会出现因为服务器瓶颈导致的业务无法很好运行的情况,且也不利于充分利用服务器的各项性能
3.综上所述,如何有效地进行服务器的优化,从而充分地发挥服务器性能,是目前本领域技术人员急需解决的技术问题。


技术实现要素:

4.本发明的目的是提供一种服务器的优化方法、系统、设备及存储介质,以有效地进行服务器的优化,从而充分地发挥服务器性能。
5.为解决上述技术问题,本发明提供如下技术方案:
6.一种服务器的优化方法,包括:
7.采集目标业务运行时的各项硬件指标;
8.进行各项所述硬件指标的归一化;
9.当任意一项归一化之后的所述硬件指标在第一时长内的数值均超过对应于所述硬件指标的预设阈值时,将所述硬件指标作为服务器瓶颈影响因子以进行所述服务器的优化。
10.优选的,所述进行各项所述硬件指标的归一化,包括:
11.通过确定出各项所述硬件指标的当前数值与相应的硬件指标理论数值的百分比,进行各项所述硬件指标的归一化。
12.优选的,各项硬件指标对应的预设阈值均相同。
13.优选的,还包括:
14.通过采集所述目标业务在运行过程中的各项微架构指标,确定出预设的指令库中的各项指令在所述目标业务的运行过程各自的执行次数;
15.当任意一项指令的执行次数未超过对应于所述指令的次数阈值时,将所述指令作为服务器瓶颈影响因子以进行所述服务器的优化。
16.优选的,还包括:
17.根据各项所述微架构指标,确定出浮点运算的向量化指令的使用率;
18.当所述浮点运算的向量化指令的使用率低于第一使用率阈值时,将所述浮点运算作为服务器瓶颈影响因子以进行所述服务器的优化。
19.优选的,所述根据各项所述微架构指标,确定出浮点运算的向量化指令的使用率,包括:
20.根据各项所述微架构指标,确定出总双精度浮点运算指令,总单精度浮点运算指令以及x87双精度浮点运算指令的执行次数总和;
21.将所述执行次数总和除以各个浮点运算指令与各个矢量运算指令的总和,得到浮点运算的向量化指令的使用率。
22.优选的,还包括:
23.采集所述目标业务在运行过程中的各级缓存命中率;
24.当任意一级的缓存命中率低于缓存命中率阈值时,将各级缓存作为服务器瓶颈影响因子以进行所述服务器的优化。
25.一种服务器的优化系统,包括:
26.硬件指标采集模块,用于采集目标业务运行时的各项硬件指标;
27.归一化模块,用于进行各项所述硬件指标的归一化;
28.第一执行模块,用于当任意一项归一化之后的所述硬件指标在第一时长内的数值均超过对应于所述硬件指标的预设阈值时,将所述硬件指标作为服务器瓶颈影响因子以进行所述服务器的优化。
29.一种服务器的优化设备,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序以实现上述任一项所述的服务器的优化方法的步骤。
32.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的服务器的优化方法的步骤。
33.应用本发明实施例所提供的技术方案,可以根据统计结果发现服务器的硬件瓶颈,从而可以据此进行服务器的优化,也就有利于充分地发挥服务器性能。具体的,本技术会采集目标业务运行时的各项硬件指标,然后进行各项硬件指标的归一化。进行归一化是考虑到不同的硬件指标的表示形式不同,而通过归一化的操作,可以方便进行后续的比较。当任意一项归一化之后的硬件指标在第一时长内的数值均超过对应于硬件指标的预设阈值时,说明该项硬件指标对服务器性能有着较大的限制,因此,本技术会将该项硬件指标作为服务器瓶颈影响因子,从而可以进行服务器的优化。由于本技术可以有效地进行服务器的优化,避免服务器的硬件瓶颈造成的限制,因此有利于充分地发挥服务器性能。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本发明中一种服务器的优化方法的实施流程图;
36.图2为本发明中一种服务器的优化系统的结构示意图。
具体实施方式
37.本发明的核心是提供一种服务器的优化方法,可以有效地进行服务器的优化,避
免服务器的硬件瓶颈造成的限制,因此有利于充分地发挥服务器性能。
38.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.请参考图1,图1为本发明中一种服务器的优化方法的实施流程图,该服务器的优化方法可以包括以下步骤:
40.步骤s101:采集目标业务运行时的各项硬件指标。
41.目标业务的具体内容可以根据实际需要进行设定,在采集目标业务运行时的各项硬件指标时,通常可以通过读取系统文件、调用第三方驱动和实用系统工具等方式完成采集。
42.各项硬件指标的具体内容也可以根据实际需要进行设定和调整,例如在本发明的一种具体实施方式中,各项硬件指标中至少包括:cpu利用率、内存带宽、网卡实时速率、nfs实时速率、ib网实时速率、内存利用率、swap利用率、gpu利用率、gpu内存利用率、pcie带宽。
43.该种实施方式中的硬件指标,通常可以较为全面地反映出目标业务运行时的服务器的硬件状态,也就有利于本技术能够较为全面地实现服务器的硬件瓶颈的分析确定。当然,在其他实施方式中,可以根据实际需要进行硬件指标的具体内容的调整,并不影响本发明的实施。
44.步骤s102:进行各项硬件指标的归一化。
45.采集了目标业务运行时的各项硬件指标之后,便需要进行各项硬件指标的归一化。
46.进行归一化的是考虑到不同的硬件指标的表示形式不同,例如网卡实时速率这一硬件指标的单位是速率,cpu利用率是这一硬件指标则没有单位,如果直接对采集的各项硬件指标分别进行分析,则程序设计会比较复杂,也不利于进行后续的比较。
47.在进行各项硬件指标的归一化时,通常可以通过确定出各项硬件指标的当前数值与相应的硬件指标理论数值的百分比,进行各项硬件指标的归一化。例如将网卡实时速率与相应的网卡理论速率的比值,作为这一项硬件指标的归一化结果。又如,将内存利用率与内存理论利用率的的比值,作为这一项硬件指标的归一化结果,当然,由于内存理论利用率为100%,即1,因此内存利用率这一硬件指标的采集值也就是归一化之后的值。
48.在其他实施方式中,还可以有其他的归一化方式,使得归一化之后的各项硬件指标在数值0至1之间即可完成归一化的目的,具体方式可以根据实际需要进行设定和调整。
49.步骤s103:当任意一项归一化之后的硬件指标在第一时长内的数值均超过对应于硬件指标的预设阈值时,将硬件指标作为服务器瓶颈影响因子以进行服务器的优化。
50.对于每一项归一化之后的硬件指标,对应的预设阈值可以相同,也可以不同。但是需要说明的是,由于进行了各项硬件指标的归一化,使得归一化之后的硬件指标的数值在0至1之间,为了便于设计,同时也为了便于统一针对各个硬件指标的要求,在实际应用中,各项硬件指标对应的预设阈值通常均是相同的。
51.例如一种场合中,各项硬件指标对应的预设阈值均设置为0.95,也就是说,当任意一项归一化之后的硬件指标在第一时长内的数值均超过0.95时,便会将该项硬件指标作为
服务器瓶颈影响因子以进行服务器的优化。
52.确定出了若干项硬件指标作为服务器瓶颈影响因子之后,具体的服务器的优化方式可以有多种,例如可以输出提示信息使得工作人员注意到该情况,然后对这些硬件指标所关联的硬件进行更换。
53.将某一项硬件指标作为服务器瓶颈影响因子,进行服务器的优化的具体方式可以根据实际情况进行选取,但是可以理解的是,在优化之后,应当使得这一项硬件指标不会再作为服务器瓶颈影响服务器的性能发挥。
54.在本发明的一种具体实施方式中,还可以包括:
55.通过采集目标业务在运行过程中的各项微架构指标,确定出预设的指令库中的各项指令在目标业务的运行过程各自的执行次数;
56.当任意一项指令的执行次数未超过对应于指令的次数阈值时,将指令作为服务器瓶颈影响因子以进行服务器的优化。
57.在前文的实施例中,通过对服务器的硬件瓶颈分析,进行服务器的优化处理,该种实施方式中,考虑到部分场合中,可能服务器的硬件并不存在瓶颈,而是服务器的软件限制了服务器的性能发挥,因此,该种实施方式中,通过对服务器的软件瓶颈分析,进行服务器的优化处理。
58.具体的,该种实施方式会采集目标业务在运行过程中的各项微架构指标,通常可以通过读取寄存器的数值实现各项微架构指标的采集。例如一种具体场合中,采集的微架构指标包括:总双精度浮点运算次数、总单精度浮点运算次数、x87双精度浮点运算次数、sse packed双精度浮点运算次数、sse scalar双精度浮点运算次数、avx packed双进度浮点运算次数、avx512 packed双精度浮点运算次数、sse packed单精度浮点运算次数、sse scalar单精度浮点运算次数、avx packed单进度浮点运算次数、avx512 packed单精度浮点运算次数、sse packed双精度矢量运算次数、avx packed双进度矢量运算次数、avx512 packed双精度矢量运算次数、sse packed单精度矢量运算次数、avx packed单进度矢量运算次数、avx512 packed单精度矢量运算次数。
59.采集了目标业务在运行过程中的各项微架构指标之后,可以确定出预设的指令库中的各项指令在目标业务的运行过程各自的执行次数,例如一种场合中,预设的指令库中有avx512 packed双精度矢量运算这一项指令,通过采集到的目标业务在运行过程中的各项微架构指标,便可以确定出avx512 packed双精度矢量运算这一项指令在目标业务的运行过程的执行次数,如果执行次数低于这一指令对应的次数阈值时,说明可能是服务器的软件限制了服务器的性能发挥,便可以将这一指令作为服务器瓶颈影响因子以进行服务器的优化。
60.例如一种场合中服务器的处理器是支持avx512指令的,但是在目标业务的运行过程中,几乎没有调用avx512指令的情况,原因可能是服务器的软件未更新导致不能使用avx512指令。工作人员在进行服务器的优化时,便可以下载支持avx512指令的程序或者自行修改程序,avx512指令可以在一个时钟周期内完成512位的计算,如果此前实用的是int32位的计算,转为使用avx512指令之后,在一个时钟周期内可以到达16个int32位的计算,即性能相当于是提高了16倍。
61.预设的指令库中的具体内容可以根据需要进行设定和调整,但是可以理解的是,
预设的指令库中的各项指令,通常是各项有利于发挥服务器性能的指令。
62.进一步的,在本发明的一种具体实施方式中,还可以包括:
63.根据各项微架构指标,确定出浮点运算的向量化指令的使用率;
64.当浮点运算的向量化指令的使用率低于第一使用率阈值时,将浮点运算作为服务器瓶颈影响因子以进行服务器的优化。
65.前述实施方式中,是对单项的微架构指标进行考虑,该种实施方式中,会进行多项微架构指标的综合判断。具体的,该种实施方式可以对浮点运算的向量化指令的使用率进行判断,即根据各项微架构指标,确定出浮点运算的向量化指令的使用率,如果浮点运算的向量化指令的使用率低于第一使用率阈值,说明存在优化空间,因此,可以将浮点运算作为服务器瓶颈影响因子以进行服务器的优化。
66.确定出浮点运算的向量化指令的使用率的具体方式可以有多种,例如在本发明的一种具体实施方式中,根据各项微架构指标,确定出浮点运算的向量化指令的使用率的操作可以具体包括:
67.根据各项微架构指标,确定出总双精度浮点运算指令,总单精度浮点运算指令以及x87双精度浮点运算指令的执行次数总和;
68.将执行次数总和除以各个浮点运算指令与各个矢量运算指令的总和,得到浮点运算的向量化指令的使用率。
69.该种实施方式中,考虑到浮点运算的向量化指令通常包括总双精度浮点运算指令,总单精度浮点运算指令以及x87双精度浮点运算指令这3种,因此计算出这3者的执行次数总和。而各个浮点运算指令与各个矢量运算指令的总和通常可以表示为:总双精度浮点运算 总单精度浮点运算 x87双精度浮点运算 sse packed双精度浮点运算 sse scalar双精度浮点运算 avx packed双进度浮点运算 avx512 packed双精度浮点运算 sse packed单精度浮点运算 sse scalar单精度浮点运算 avx packed单进度浮点运算 avx512 packed单精度浮点运算 sse packed双精度矢量运算 avx packed双进度矢量运算 avx512 packed双精度矢量运算 sse packed单精度矢量运算 avx packed单进度矢量运算 avx512 packed单精度矢量运算。
70.得到了各个浮点运算指令与各个矢量运算指令的总和之后,将前述的执行次数总和除以这一总和,便可以得到浮点运算的向量化指令的使用率。
71.当浮点运算的向量化指令的使用率低于第一使用率阈值,例如低于80%时,便可以将浮点运算作为服务器瓶颈影响因子以进行服务器的优化。
72.在本发明的一种具体实施方式中,还可以包括:
73.采集目标业务在运行过程中的各级缓存命中率;
74.当任意一级的缓存命中率低于缓存命中率阈值时,将各级缓存作为服务器瓶颈影响因子以进行服务器的优化。
75.该种实施方式中,考虑到除了根据硬件指标以及微架构指标进行服务器的瓶颈分析之外,还可以对其他的影响服务器性能瓶颈的指标进行分析从而优化服务器,主要是一些软件指标,例如cpi、总内存带宽、内存读、写带宽、pcie读、写带宽、各级缓存命中率等。
76.例如该种实施方式中,还可以采集目标业务在运行过程中的各级缓存命中率,当任意一级的缓存命中率低于缓存命中率阈值时,可以将各级缓存作为服务器瓶颈影响因子
以进行服务器的优化,例如可以将相同内存的操作进行统一处理,从而提高各级缓存命中率。
77.应用本发明实施例所提供的技术方案,可以根据统计结果发现服务器的硬件瓶颈,从而可以据此进行服务器的优化,也就有利于充分地发挥服务器性能。具体的,本技术会采集目标业务运行时的各项硬件指标,然后进行各项硬件指标的归一化。进行归一化是考虑到不同的硬件指标的表示形式不同,而通过归一化的操作,可以方便进行后续的比较。当任意一项归一化之后的硬件指标在第一时长内的数值均超过对应于硬件指标的预设阈值时,说明该项硬件指标对服务器性能有着较大的限制,因此,本技术会将该项硬件指标作为服务器瓶颈影响因子,从而可以进行服务器的优化。由于本技术可以有效地进行服务器的优化,避免服务器的硬件瓶颈造成的限制,因此有利于充分地发挥服务器性能。
78.相应于上面的方法实施例,本发明实施例还提供了一种服务器的优化系统,可与上文相互对应参照。
79.可参阅图2,该服务器的优化系统可以包括:
80.硬件指标采集模块201,用于采集目标业务运行时的各项硬件指标;
81.归一化模块202,用于进行各项硬件指标的归一化;
82.第一执行模块203,用于当任意一项归一化之后的硬件指标在第一时长内的数值均超过对应于硬件指标的预设阈值时,将硬件指标作为服务器瓶颈影响因子以进行服务器的优化。
83.在本发明的一种具体实施方式中,归一化模块202,具体用于:
84.通过确定出各项硬件指标的当前数值与相应的硬件指标理论数值的百分比,进行各项硬件指标的归一化。
85.在本发明的一种具体实施方式中,各项硬件指标对应的预设阈值均相同。
86.在本发明的一种具体实施方式中,各项硬件指标中至少包括:cpu利用率、内存带宽、网卡实时速率、nfs实时速率、ib网实时速率、内存利用率、swap利用率、gpu利用率、gpu内存利用率、pcie带宽。
87.在本发明的一种具体实施方式中,还包括:
88.微架构指标采集模块,用于通过采集目标业务在运行过程中的各项微架构指标,确定出预设的指令库中的各项指令在目标业务的运行过程各自的执行次数;
89.第二执行模块,用于当任意一项指令的执行次数未超过对应于指令的次数阈值时,将指令作为服务器瓶颈影响因子以进行服务器的优化。
90.在本发明的一种具体实施方式中,还包括:
91.浮点运算向量化指令使用率计算模块,用于根据各项微架构指标,确定出浮点运算的向量化指令的使用率;
92.第三执行模块,用于当浮点运算的向量化指令的使用率低于第一使用率阈值时,将浮点运算作为服务器瓶颈影响因子以进行服务器的优化。
93.在本发明的一种具体实施方式中,浮点运算向量化指令使用率计算模块,具体用于:
94.根据各项微架构指标,确定出总双精度浮点运算指令,总单精度浮点运算指令以及x87双精度浮点运算指令的执行次数总和;
95.将执行次数总和除以各个浮点运算指令与各个矢量运算指令的总和,得到浮点运算的向量化指令的使用率。
96.在本发明的一种具体实施方式中,还包括:
97.缓存命中率采集模块,用于采集目标业务在运行过程中的各级缓存命中率;
98.第三执行模块,用于当任意一级的缓存命中率低于缓存命中率阈值时,将各级缓存作为服务器瓶颈影响因子以进行服务器的优化。
99.相应于上面的方法和系统实施例,本发明实施例还提供了一种服务器的优化设备以及一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例中的服务器的优化方法的步骤。
100.该服务器的优化设备可以包括:
101.存储器,用于存储计算机程序;
102.处理器,用于执行计算机程序以实现如上述任一实施例中的服务器的优化方法的步骤。
103.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
104.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
105.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜