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

一种分布式存储系统参数调优方法及相关组件与流程

2022-02-22 03:58:39 来源:中国专利 TAG:


1.本发明涉及数据存储技术领域,特别涉及一种分布式存储系统参数调优方法、装置、设备及存储介质。


背景技术:

2.随着计算机应用和网络技术的飞速发展,作为保障应用可靠性、可用性和存取效率的分布式存储系统的规模也日益庞大和复杂,高复杂度、高规模的存储系统必然涉及众多参数参与调优以使系统性能最优。然而,由于参数过多,一方面难以从全局选择对性能影响最大的topn个参数,仅依赖研发经验调整所熟悉的参数,其他参数的性能提升效果不可知。另一方面,若仅掌握一个模块的有限参数,跨模块调参所能取得的性能提升不可知。另外,在设置待测试的参数时,不同类型的参数配置不当存在功能异常风险,且由于参数之间存在关联性,需同时设置才有效等问题导致配置后的参数可能不能真正生效,调优效率较低。
3.因此,如何高效实现分布式存储系统的参数调优是本领域技术人员亟待解决的技术问题。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种分布式存储系统参数调优方法、装置、设备及存储介质,能够得到重要参数集合并确定并消除性能瓶颈,使系统性能处于最优状态。其具体方案如下:
5.本技术的第一方面提供了一种分布式存储系统参数调优方法,包括:
6.获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征;
7.基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征;
8.基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征;
9.根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。
10.可选的,所述获取分布式存储系统中能够进行配置的第一参数,包括:
11.获取分布式存储系统的全局配置文件以得到参数全集,并从所述参数全集中筛选出能够进行配置的第一参数。
12.可选的,所述基于所述第二性能特征从所述第二参数中确定出第三参数,包括:
13.根据所述第二性能特征对各个模块中的所述第二参数进行重要性排序,得到排序
后的参数序列;其中,所述参数序列中的参数排序表征各个模块中的所述第二参数对所述分布式存储系统的性能影响程度;
14.分别从各个模块对应的所述参数序列中确定出预设占比的所述第二参数,以得到第三参数。
15.可选的,所述分布式存储系统参数调优方法,还包括:
16.当所述分布式存储系统通过nfs协议进行文件共享,在配置参数前控制客户端卸载nfs共享目录,并通过修改配置文件的方式对参数进行配置;
17.参数配置完成后,控制所述客户端重新挂载所述nfs共享目录。
18.可选的,所述通过修改配置文件的方式对参数进行配置,包括:
19.分别通过修改ganesha配置文件和icf配置文件对相应类型的参数进行配置,并重新启动集群服务和ganesha服务。
20.可选的,所述第一性能特征和所述第二性能特征为包括所述分布式存储系统的cpu性能、内存性能、磁盘性能及网络性能在内的硬件性能。
21.可选的,所述第三性能特征为包括所述分布式存储系统的ganesha服务、osd服务、lib库及主数据服务运行中的平均时延数据在内的软件性能。
22.本技术的第二方面提供了一种分布式存储系统参数调优装置,包括:
23.第一调优模块,用于获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征;
24.第二调优模块,用于基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征;
25.第三调优模块,用于基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征;
26.瓶颈消除模块,用于根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。
27.本技术的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述分布式存储系统参数调优方法。
28.本技术的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述分布式存储系统参数调优方法。
29.本技术中,先获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征;然后基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征;接着基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方
式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征;最后根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。可见,本技术通过对分布式存储系统的可配置第一参数进行配置实现单个参数调优,然后基于单个参数调优结果从第一参数中确定第二参数并以模块为单位对第二参数进行配置实现单个模块调优,同样的,基于单个模块调优结果从第二参数中确定第三参数并通过组合模块方式实现模块组合调优,从而得到最重要参数集合,以此确定并消除性能瓶颈,使系统性能处于最优状态。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
31.图1为本技术提供的一种分布式存储系统参数调优方法流程图;
32.图2为本技术提供的一种具体的分布式存储系统参数调优方法示意图;
33.图3为本技术提供的一种分布式存储系统参数调优装置结构示意图;
34.图4为本技术提供的一种分布式存储系统参数调优电子设备结构图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.目前,由于分布式系统中参数过多,在参数调优时,一方面难以从全局选择对性能影响最大的topn个参数,仅依赖研发经验调整所熟悉的参数,其他参数的性能提升效果不可知。另一方面,若仅掌握一个模块的有限参数,跨模块调参所能取得的性能提升不可知。另外,在设置待测试的参数时,不同类型的参数配置不当存在功能异常风险,且由于参数之间存在关联性,需同时设置才有效等问题导致配置后的参数可能不能真正生效,调优效率较低。针对上述技术缺陷,本技术提供一种分布式存储系统参数调优方案,通过对分布式存储系统的可配置第一参数进行配置实现单个参数调优,然后基于单个参数调优结果从第一参数中确定第二参数并以模块为单位对第二参数进行配置实现单个模块调优,同样的,基于单个模块调优结果从第二参数中确定第三参数并通过组合模块方式实现模块组合调优,从而得到最重要参数集合,以此确定并消除性能瓶颈,使系统性能处于最优状态。
37.图1为本技术实施例提供的一种分布式存储系统参数调优方法流程图。参见图1所示,该分布式存储系统参数调优方法包括:
38.s11:获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征。
39.本实施例中,获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性
能特征。可以理解,对于所述第一参数首先可以获取分布式存储系统的全局配置文件以得到参数全集,然后从所述参数全集中筛选出能够进行配置的第一参数。所述参数全集中的参数具备参数名称、参数类型、所属模块及默认值等属性,遍历所述参数全集中包括布尔型、数值型及枚举类型的可设置参数。
40.本实施例搭建调优测试环境,在该环境下实现参数调优以对本方案进行具体说明,具体过程如图2所示。首先搭建硬件环境,集群共3个节点和6个客户端,前端和后端网络配置为双万兆网络,每个节点一个ganesha服务,创建nfs共享,通过nfs客户端进行挂载访问,每2个客户端挂载在1个存储节点上。其次构建io模型,io模型关注hpc,即高性能计算场景,hpc场景主要用于大规模科学计算,其核心业务由一定规模的计算节点组成分布式计算集群,后端挂载存储集群,计算节点数据io大小不固定,io并发较大,计算数据量大且周期长。数据存储io性能是hpc主要瓶颈。另外,采用vdbench测试脚本对存储集群下发io读写请求,设置两种测试脚本,其中文件大小分别为100mb和1gb,块大小分别为64kb和1mb,文件数量分别为20000和3000,io模型包含6客户端多线程纯读,6客户端多线程纯写,6客户端多线程混合读写三种方式,共计6个测试脚本。在此测试环境下测试单个参数对系统性能的影响,即仅改变一个所述第一参数的值,其他参数保持不变,测试系统性能的变化。
41.具体来说,在所述分布式存储系统通过nfs协议进行文件共享时,在配置参数前控制客户端卸载nfs共享目录,并通过修改配置文件的方式对参数进行配置。其中,分别通过修改ganesha配置文件和icf配置文件对相应类型的参数进行配置,并重新启动集群服务和ganesha服务。ganesha配置文件为“/etc/ganesha/ganesha.conf”,icfs配置文件为“/etc/icfs/icfs.conf”。同时,为了保证集群各软件模块的参数能够生效,需重启集群服务,命令为“systemctl restart icfs.target”,为了保证ganesha模块的参数能够生效,需重启ganesha服务,命令为“systemctl restart ganesha”。参数配置完成后,再控制所述客户端重新挂载所述nfs共享目录。若由于参数设置导致ganesha、osd等服务出错,则将该参数排除出去,继续下一个参数的测试。最终得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征,所述第一性能特征为包括所述分布式存储系统的cpu性能、内存性能、磁盘性能及网络性能在内的硬件性能。
42.s12:基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征。
43.本实施例中,基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征。上述步骤即单个模块调优过程,按模块对第二参数集合中的所述第二参数进行分组,测试单个模块对系统性能的影响,即同时改变一个模块内的所有所述第二参数的值,测试系统性能的变化。同样的,所述第二性能特征为包括所述分布式存储系统的cpu性能、内存性能、磁盘性能及网络性能在内的硬件性能。
44.本实施例中,单个参数调优和单个模块调优后,需同时采集系统硬件关键性能指标,得到的所述第一性能特征和所述第二性能特征。具体的,采集存储系统各个节点的cpu性能指标,采样频率1秒,具体命令为“mpstat 1”;采集并保存存储系统各个节点的内存性
能指标,采样频率1秒,具体命令为“vmstat 1”;采集并保存存储系统各个节点的磁盘性能指标,采样频率1秒,具体命令为“iostat-mx 1”;采集并保存存储系统各个节点的网络性能指标,采样频率1秒,具体命令为“sar-n dev 1”。上述采样频率和命令仅作示例参考,本实施例对此不进行限定。
45.s13:基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征。
46.本实施例中,基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征。关于所述第三参数的确定过程,具体可以包括:根据所述第二性能特征对各个模块中的所述第二参数进行重要性排序,得到排序后的参数序列;其中,所述参数序列中的参数排序表征各个模块中的所述第二参数对所述分布式存储系统的性能影响程度;分别从各个模块对应的所述参数序列中确定出预设占比的所述第二参数,以得到第三参数。例如,对单个模块的测试结果进行统计分析,根据参数对系统性能变化大小的影响,量化所述第二参数的重要性,然后筛选出每个模块前20%最重要的参数得到所述第三参数,也即重要参数集合。
47.在此基础上,对随时分布式存储系统进行模块组合调优,也即对重要参数集合,测试模块组合对系统性能的影响,遍历所有模块之间的组合模式,同时改变组合内所有参数的值,测试系统性能的变化。该变化具体通过包括所述分布式存储系统的ganesha服务、osd服务、lib库及主数据服务运行中的平均时延数据在内的软件性能体现。也即模块组合调优结束后需要采集系统软件关键性能指标得到所述第三性能特征。具体的,采集ganesha服务接收到的请求个数及平均处理时延,具体命令为“ganesha_stat_tool show_nfs_ops”;采集lib库各业务接口的最大最小平均时延,具体命令为“icfs daemon/var/run/icfs/icfs-client.“pid”.asok perf dump client|perf_dump_client_call”,其中pid为进程号;采集osd服务读写请求及处理平均时延,具体命令为“icfs daemon osd.[x]perf dump osd”,其中x为osd索引;采集主数据服务mds各业务接口的最大最小平均时延,具体命令为“icfs-mds-perf mds.0interface”。
[0048]
s14:根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。
[0049]
本实施例中,根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。当一整个模块的参数集体对性能无影响时需要分析性能瓶颈并且消除,统计分析采集到的存储各个节点的cpu、内存、磁盘及网络关键性能指标,判断硬件是否存在瓶颈,统计分析ganesha、lib库、osd及mds关键性能指标,判断软件模块是否存在慢请求或者高时延,定位产生性能瓶颈的原因并且消除,然后进行下一轮性能测试,通过系统全局配置文件得到参数全集,实现单个参数调优、单个模块调优及模块组合调优,通过性能瓶颈分析消除io瓶颈实现迭代调优,直到系统没有瓶颈,性能达到最优。
[0050]
可见,本技术实施例先获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征;然后基于各个所述第一性能特征从所述第一参数中确定出第二参数,并
以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征;接着基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征;最后根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。本技术实施例通过对分布式存储系统的可配置第一参数进行配置实现单个参数调优,然后基于单个参数调优结果从第一参数中确定第二参数并以模块为单位对第二参数进行配置实现单个模块调优,同样的,基于单个模块调优结果从第二参数中确定第三参数并通过组合模块方式实现模块组合调优,从而得到重要参数集合,以此确定并消除性能瓶颈,使系统性能处于最优状态。
[0051]
参见图3所示,本技术实施例还相应公开了一种分布式存储系统参数调优装置,包括:
[0052]
第一调优模块11,用于获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征;
[0053]
第二调优模块12,用于基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征;
[0054]
第三调优模块13,用于基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征;
[0055]
瓶颈消除模块14,用于根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。
[0056]
可见,本技术实施例先获取分布式存储系统中能够进行配置的第一参数,并分别对各个所述第一参数进行单独配置,得到与各个所述第一参数对应的所述分布式存储系统的第一性能特征;然后基于各个所述第一性能特征从所述第一参数中确定出第二参数,并以所述第二参数所属模块为单位分别对各个模块中的全部所述第二参数进行同时配置,得到与各个模块对应的所述分布式存储系统的第二性能特征;接着基于所述第二性能特征从所述第二参数中确定出第三参数,并以所述第三参数所属模块为单位通过对各个模块进行组合的方式对组合模块中的全部所述第三参数进行同时配置,得到所述分布式存储系统的第三性能特征;最后根据所述第三性能特征确定所述分布式存储系统的性能瓶颈,并消除所述性能瓶颈。本技术实施例通过对分布式存储系统的可配置第一参数进行配置实现单个参数调优,然后基于单个参数调优结果从第一参数中确定第二参数并以模块为单位对第二参数进行配置实现单个模块调优,同样的,基于单个模块调优结果从第二参数中确定第三参数并通过组合模块方式实现模块组合调优,从而得到重要参数集合,以此确定并消除性能瓶颈,使系统性能处于最优状态。
[0057]
在一些具体实施例中,所述第一调优模块11,具体用于获取分布式存储系统的全局配置文件以得到参数全集,并从所述参数全集中筛选出能够进行配置的第一参数。
[0058]
在一些具体实施例中,所述第三调优模块13,具体包括:
[0059]
排序单元,用于根据所述第二性能特征对各个模块中的所述第二参数进行重要性排序,得到排序后的参数序列;其中,所述参数序列中的参数排序表征各个模块中的所述第二参数对所述分布式存储系统的性能影响程度;
[0060]
筛选单元,用于分别从各个模块对应的所述参数序列中确定出预设占比的所述第二参数,以得到第三参数。
[0061]
在一些具体实施例中,当所述分布式存储系统通过nfs协议进行文件共享,所述分布式存储系统参数调优装置还用于在配置参数前控制客户端卸载nfs共享目录,并通过修改配置文件的方式对参数进行配置,以及参数配置完成后,控制所述客户端重新挂载所述nfs共享目录。
[0062]
进一步的,本技术实施例还提供了一种电子设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
[0063]
图4为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的分布式存储系统参数调优方法中的相关步骤。
[0064]
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0065]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
[0066]
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的分布式存储系统参数调优方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的参数信息。
[0067]
进一步的,本技术实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的分布式存储系统参数调优方法步骤。
[0068]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0069]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0070]
以上对本发明所提供的分布式存储系统参数调优方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献