CN116089022A - 一种日志搜索引擎的参数配置调整方法、系统及存储介质 - Google Patents

一种日志搜索引擎的参数配置调整方法、系统及存储介质 Download PDF

Info

Publication number
CN116089022A
CN116089022A CN202310378388.8A CN202310378388A CN116089022A CN 116089022 A CN116089022 A CN 116089022A CN 202310378388 A CN202310378388 A CN 202310378388A CN 116089022 A CN116089022 A CN 116089022A
Authority
CN
China
Prior art keywords
configuration parameter
search engine
full stack
log search
stack configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310378388.8A
Other languages
English (en)
Inventor
孟汉
王贝宁
赖晓锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiajia Technology Co ltd
Original Assignee
Jiajia Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiajia Technology Co ltd filed Critical Jiajia Technology Co ltd
Priority to CN202310378388.8A priority Critical patent/CN116089022A/zh
Publication of CN116089022A publication Critical patent/CN116089022A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志搜索引擎的参数配置调整方法、系统及存储介质,用于对日志搜索引擎的全栈配置参数进行调优,以提高日志搜索引擎的性能,该方法包括:基于获取到的配置参数空间,采用mREMBO算法随机生成全栈配置参数值;采用自动化运维工具和性能测试基准工具分别将全栈配置参数值部署到日志搜索引擎集群上、运行基准测试,获得日志搜索引擎集群的目标性能指标的平均值;将全栈配置参数值与目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中;采用mREMBO算法基于观测数据集进行GP迭代运算,找到最优全栈配置参数值;采用自动化运维工具将最优全栈配置参数值部署到日志搜索引擎集群上,完成全栈配置参数调整。

Description

一种日志搜索引擎的参数配置调整方法、系统及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种日志搜索引擎的参数配置调整方法、系统及存储介质。
背景技术
在大数据和人工智能时代,大规模分布式系统在进行数据处理的同时生成大量日志数据。作为基于日志的应用程序的底层基础设施,Elasticsearch和Solr等日志搜索引擎被广泛部署来存储和分析这些“大”日志。
为了适应不同的工作负载场景,日志搜索引擎通常向开发人员公开大量的配置参数,这些配置参数几乎可以更改所有的运行时行为。这些配置参数的不同设置会显著影响日志搜索引擎的查询。因此,为了追求日志搜索引擎更好的性能,有必要对其配置参数进行微调。
然而,在生产环境中调整日志搜索引擎集群的配置参数,通常需要耗费几天至十几天时间。为了节省配置参数的调整时间,开发人员通常必须接受默认配置。为了改变这种情况,有许多研究已经研究出了如何为各种应用程序自动调整配置参数。但是,这些研究通常只关注目标应用程序的固有配置,而忽略了运行时环境和操作系统内核的参数,不能有效提高日志搜索引擎的性能。实际上,运行时配置和内核配置都与应用程序的性能密切相关。例如,根据Elasticsearch官方指南,除了调整Elasticsearch配置参数外,还可以调整运行时参数以提高索引速度。因此,对日志搜索引擎的配置参数进行调优时,需要考虑日志搜索引擎、运行时环境和操作系统内核的全栈配置参数,以获得日志搜索引擎更好的性能。
综上,如何调优日志搜索引擎的全栈配置参数,以提高日志搜索引擎的性能,是当前需要解决的问题。
发明内容
基于此,本发明的目的在于提供一种日志搜索引擎的参数配置调整方法、系统及存储介质,用于对日志搜索引擎的全栈配置参数进行调优,以提高日志搜索引擎的性能。
第一方面,本发明提供了一种日志搜索引擎的参数配置调整方法,包括:
获取配置参数空间和观测次数约束;所述配置参数空间包括全栈配置参数及其取值范围,所述全栈配置参数包括日志搜索引擎配置参数、JVM配置参数和内核配置参数;
基于所述配置参数空间,采用改进的随机嵌入贝叶斯优化mREMBO算法随机生成全栈配置参数值;
采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得所述日志搜索引擎集群的目标性能指标的平均值;
将所述全栈配置参数值与所述目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中;
采用所述mREMBO算法基于所述观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值;
将所述次优全栈配置参数值替换为所述全栈配置参数值,返回执行采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,直至所述mREMBO算法的迭代次数满足等于所述观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值输出;
采用所述自动化运维工具将所述最优全栈配置参数值部署到所述日志搜索引擎集群上,完成调整所述日志搜索引擎集群的全栈配置参数。
在一种可能的设计中,所述自动化运维工具为ansible工具,所述日志搜索引擎集群为Elasticsearch集群或Solr集群。
在一种可能的设计中,采用性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得所述日志搜索引擎集群的目标性能指标的平均值,包括:
采用所述性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得性能测试数据;
基于所述性能测试数据,计算得到所述目标性能指标的平均值。
在一种可能的设计中,所述性能测试基准工具为Rally工具,所述目标性能指标为所述日志搜索引擎集群的中间索引吞吐量。
在一种可能的设计中,基于所述配置参数空间,采用改进的随机嵌入贝叶斯优化mREMBO算法随机生成全栈配置参数值,包括:
基于所述配置参数空间,采用所述mREMBO算法生成嵌入参数空间;
采用所述mREMBO算法基于所述嵌入参数空间的初始随机点,生成初始高斯过程GP模型,获得所述全栈配置参数值。
第二方面,本发明还提供了一种日志搜索引擎的参数配置调整系统,包括:配置生成器、数据聚合器和测试启动器,所述数据聚合器分别与所述配置生成器和所述测试启动器连接;其中,
所述配置生成器,用于获取配置参数空间和观测次数约束;所述配置参数空间包括全栈配置参数及其取值范围,所述全栈配置参数包括日志搜索引擎配置参数、JVM配置参数和内核配置参数;基于所述配置参数空间,采用mREMBO算法随机生成全栈配置参数值,并通过所述数据聚合器将所述全栈配置参数值发送给所述测试启动器;
所述测试启动器,用于采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得所述日志搜索引擎集群的目标性能指标的平均值;
所述数据聚合器,用于将所述全栈配置参数值与所述目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中;
所述配置生成器,还用于采用所述mREMBO算法基于所述观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值,并通过所述数据聚合器将所述次优全栈配置参数值发送给测试启动器;
所述测试启动器,还用于将所述次优全栈配置参数值替换为所述全栈配置参数值,返回执行采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,直至在所述配置生成器中所述mREMBO算法的迭代次数满足所述观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值,并通过所述配置生成器输出所述最优全栈配置参数值;
所述测试启动器,还用于接收所述配置生成器通过所述数据聚合器发送的所述最优全栈配置参数值,采用所述自动化运维工具将所述最优全栈配置参数值部署到所述日志搜索引擎集群上,完成调整所述日志搜索引擎集群的全栈配置参数。
在一种可能的设计中,所述自动化运维工具为ansible工具,所述日志搜索引擎集群为Elasticsearch集群或Solr集群;所述性能测试基准工具为Rally工具,所述目标性能指标为所述日志搜索引擎集群的中间索引吞吐量。
在一种可能的设计中,所述测试启动器具体用于:采用所述性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得性能测试数据;基于所述性能测试数据,计算得到所述目标性能指标的平均值。
在一种可能的设计中,所述配置生成器具体用于:基于所述配置参数空间,采用所述mREMBO算法生成嵌入参数空间;采用所述mREMBO算法基于所述嵌入参数空间的初始随机点,生成初始高斯过程GP模型,获得所述全栈配置参数值。
第三方面,本发明还提供了一种计算机装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器用于存储一个或多个程序;
当所述一个或多个程序被所述至少一个处理器执行时,实现上述第一方面任一种可能设计所涉及的方法。
第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个程序;当所述至少一个程序被处理器执行时,实现上述第一方面任一种可能设计所涉及的方法。
本发明的有益效果如下:
相较于现有技术而言,本发明通过获取配置参数空间和观测次数约束;基于配置参数空间,采用mREMBO算法随机生成全栈配置参数值;采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对日志搜索引擎集群运行基准测试,获得日志搜索引擎集群的目标性能指标的平均值,从而可以解决高维配置参数空间自动自动配置困难的问题;将全栈配置参数值与目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中,从而可以解决对日志搜索引擎的全栈配置参数进行调优时目标函数难以构建的问题;采用mREMBO算法基于观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值;将次优全栈配置参数值替换为全栈配置参数值,返回执行采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,直至mREMBO算法的迭代次数满足等于观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值输出,从而可以解决高维配置参数空间优化困难的问题;用自动化运维工具将最优全栈配置参数值部署到日志搜索引擎集群上,完成调整日志搜索引擎集群的全栈配置参数,从而可以便于对日志搜索引擎的全栈配置参数进行调优,可以提高日志搜索引擎的性能。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明提供的一种日志搜索引擎的参数配置调整方法的流程示意图;
图2为本发明提供的一种mREMBO算法的运算流程示意图;
图3为本发明提供的一种日志搜索引擎的参数配置调整系统的架构示意图;
图4为本发明提供的一种计算机装置的结构示意图。
具体实施方式
以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与本发明的一些方面相一致的实施方式的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
除非有相反的说明,本说明书提及的“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
如前面所述,如何调优日志搜索引擎的全栈配置参数,以提高日志搜索引擎的性能,是当前需要解决的问题。为解决这一问题,本发明的发明人基于以往研究的深入分析以及在实际日志搜索引擎集群上的实验观察,总结出解决该问题主要有如下三个挑战:
一、目标函数难以构建:为了解决日志搜索引擎中的参数配置问题,已有的简单方法是首先构建性能预测模型,然后利用一些基于搜索的算法来探索最佳配置。然而,由于日志搜索引擎的复杂实现,很难甚至不可能弄清楚配置参数与性能之间的关系,并且构建有用的预测模型通常需要大量高质量的观察。因此,本发明的发明人将目标性能视为配置参数的黑箱目标函数,在此情况下,必须解决所制定的黑箱优化问题。
二、高维配置参数空间优化困难:来自日志搜索引擎、Java虚拟机(Java VirtualMachine,JVM)和内核的全栈配置参数实际上构建了一个高维配置参数空间。传统的黑盒优化方法,如贝叶斯优化(Bayesian Optimiazation,BO)算法已经成功地应用于寻找不同应用场景的最佳配置,但由于维数灾难,这些传统的黑盒优化方法无法直接用于解决这个高维黑盒优化问题。
三、高维配置参数自动配置困难:一旦选择了新配置的配置参数,应该将其部署到日志搜索引擎集群上,然后观察在新配置的配置参数下日志搜索引擎的性能。然而,不同的配置参数通常有完全不同的更新方法。更高的配置维度通常意味着配置参数的更新更频繁。为了使开发人员摆脱这些复杂和频繁的操作,需要一个自动配置工具来解决这个高维黑盒优化问题。
现有的研究目前不能同时有效地解决所有这些上述三个挑战,为了能够同时解决上述三个挑战,本发明通过在自动更新配置参数、寻找更优配置参数时以目标性能作为优化目标,以解决以往研究中配置参数与性能之间的关系难以弄清的问题;通过在改进的随机嵌入贝叶斯优化(Modified Random EMbedding BayesianOptimization,mREMBO)算法中,通过对高维配置参数空间降维生成低维配置参数空间,执行BO算法和数据转换,寻找最优配置参数空间,以解决高维配置参数空间优化困难的问题;由于在寻找最优配置参数空间的过程需要不断地寻找更优的配置参数并部署配置到日志搜索引擎集群,以及观察该配置下日志搜索引擎的性能,并以此循环找到最优配置参数,通过利用自动化运维工具提供的接口来自动配置更新功能,使用性能测试基准工具运行基准测试,根据mREMBO算法自动生成次优配置参数,并在测试后获得相应的性能指标,最终在满足观测约束条件下输出最优配置参数,以解决需要开发人员完成大量复杂和频繁的操作的问题,从而可以对日志搜索引擎的全栈配置参数进行调优,提高日志搜索引擎的性能。
下面将结合附图对本发明提供的日志搜索引擎的参数配置调整方法的实施过程进行下详细地介绍。
请参考图1所示,本发明提供的日志搜索引擎的参数配置调整方法,可以包括如下步骤:
S11、获取配置参数空间和观测次数约束。
在具体实施时,该配置参数空间可以包括全栈配置参数及其取值范围,其中,全栈配置参数可以包括但不限于:日志搜索引擎配置参数、JVM配置参数和内核配置参数。
在具体实施时,该观测次数约束可以用于约束后续mREMBO算法运算时的迭代次数。示例性的,该观测次数约束可以根据实际需求设置为一个数值,如5次,那么mREMBO算法运算时的迭代次数则不能超过5次。
在具体实施时,在需要启动日志搜索引擎的配置优化过程时,可以由开发人员指定上述参数配置空间和观测次数约束。
作为一种示例,上述参数配置空间可以如表1所示。
表1
S12、基于配置参数空间,采用mREMBO算法随机生成全栈配置参数值。
在具体实施时,如图2所示,mREMBO算法的运算过程可以包括如下两个阶段:
准备阶段:输入配置参数空间和观测次数约束,生成嵌入参数空间;
迭代阶段:生成全栈配置参数值,基于全栈配置参数值进行GP迭代运算,找到每一步迭代的下一个最佳点,获得次优全栈配置参数值,直至迭代次数满足观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值输出。下文将介绍mREMBO算法的迭代阶段。
在具体实施时,如图2所示,可以基于配置参数空间,采用mREMBO算法生成嵌入参数空间。之后,再采用mREMBO算法基于嵌入参数空间的初始随机点,生成初始高斯过程(Gaussian Process,GP)模型,获得全栈配置参数值。即该mREMBO算法选择GP作为先验函数,运算过程中通过不断更新GP模型寻找最优全栈配置参数。
需要说明的是,该全栈配置参数值需要位于上述配置参数空间所给出的取值范围内。例如,如上述表1所示,全栈配置参数值中的JVM参数值需要位于其对应的取值范围2G-8G内。
本发明中,通过基于配置参数空间,采用改进的mREMBO算法随机生成全栈配置参数值,可以将高维配置参数空间降维生成低维配置参数空间,便于在低维配置参数空间执行BO算法对日志搜索引擎的全栈配置参数进行调优,从而可以提高日志搜索引擎的性能。
S13、采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对日志搜索引擎集群运行基准测试,获得日志搜索引擎集群的目标性能指标的平均值。
在具体实施时,自动化运维工具可以为ansible工具,当然,还可以是其它实现自动化运维的其它运维工具,本发明对此不作限定。
在具体实施时,日志搜索引擎集群可以为Elasticsearch集群或Solr集群,当然,还可以是其它类型的日志搜索引擎集群,本发明对此不作限定。
在具体实施时,该性能测试基准工具可以为Rally工具,也可以是其它类型的性能测试基准工具,本发明对此不作限定。
在具体实施时,该目标性能指标可以为日志搜索引擎集群的中间索引吞吐量,即索引吞吐值的中值。可以理解为,中间索引吞吐量是在后续迭代过程中的更新配置参数的优化目标。
在具体实施时,可以采用性能测试基准工具对日志搜索引擎集群运行基准测试,获得性能测试数据,再基于性能测试数据,计算得到目标性能指标的平均值。
作为一种示例,该性能测试数据可以包括但不限于:索引吞吐量最大值、最小值等。
在本发明中,通过采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,无需开发人员完成大量复杂和频繁的操作来将全栈配置参数值部署到日志搜索引擎集群上,进一步便于对日志搜索引擎的全栈配置参数进行调优,以提高日志搜索引擎的性能,还可以便于支持其它日志搜索引擎的部署,普适度较好。通过在自动更新配置参数、寻找更优配置参数时以目标性能指标作为优化目标,可以便于更好地提高日志搜索引擎的性能。
S14、将全栈配置参数值与目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中。
在具体实施时,可以将全栈配置参数值与目标性能指标的平均值作为一组数据对持久化存储到数据库中的观测数据集中。
在本发明中,通过将将全栈配置参数值与目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中,如图2所示,可以便于扩充mREMBO算法运算时的观测数据集,以便于寻找最优全栈配置参数值,可以便于对日志搜索引擎的全栈配置参数进行调优,进一步可以提高日志搜索引擎的性能。
S15、采用mREMBO算法基于观测数据集进行GP迭代运算,获得次优全栈配置参数值。
即可以采用mREMBO算法基于观测数据集利用当前初始GP模型寻找下一最佳点,获取全栈配置参数的次优全栈配置参数值。
S16、将次优全栈配置参数值替换为全栈配置参数值,返回执行步骤S13,直至mREMBO算法的迭代次数满足等于观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值输出。
在本发明中,通过将次优全栈配置参数值替换为全栈配置参数值,返回执行步骤S13,可以将次优全栈配置参数值及其对应的更新目标性能指标的平均值作为一组数据对添加到观测数据集中,以扩充观测数据集,便于更新GP模型,寻找最优全栈配置参数值,进一步可以对日志搜索引擎的全栈配置参数进行调优,便于提高日志搜索引擎的性能。
S17、采用自动化运维工具将最优全栈配置参数值部署到日志搜索引擎集群上,完成调整日志搜索引擎集群的全栈配置参数。
在本发明中,通过采用自动化运维工具将最优全栈配置参数值部署到日志搜索引擎集群上,可以自动完成调整日志搜索引擎集群的全栈配置参数,从而可以对日志搜索引擎的全栈配置参数进行调优,便于提高日志搜索引擎的性能。
通过以上描述可知,相较于现有技术而言,本发明通过获取配置参数空间和观测次数约束;基于配置参数空间,采用mREMBO算法随机生成全栈配置参数值;采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对日志搜索引擎集群运行基准测试,获得日志搜索引擎集群的目标性能指标的平均值,从而可以解决高维配置参数空间自动自动配置困难的问题;将全栈配置参数值与目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中,从而可以解决对日志搜索引擎的全栈配置参数进行调优时目标函数难以构建的问题;采用mREMBO算法基于观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值;将次优全栈配置参数值替换为全栈配置参数值,返回执行采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,直至mREMBO算法的迭代次数满足等于观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值输出,从而可以解决高维配置参数空间优化困难的问题;用自动化运维工具将最优全栈配置参数值部署到日志搜索引擎集群上,完成调整日志搜索引擎集群的全栈配置参数,从而可以便于对日志搜索引擎的全栈配置参数进行调优,可以提高日志搜索引擎的性能。
基于同一发明构思,本发明实施例还提供了一种日志搜索引擎的参数配置调整系统,该系统可以是硬件结构、软件模块、或硬件结构加软件模块,本发明对此不作限定。其中,该系统可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
如图3所示,日志搜索引擎的参数配置调整系统可以包括:配置生成器21、数据聚合器22和测试启动器23,数据聚合器22分别与配置生成器21和测试启动器23连接;其中,
配置生成器21,用于获取配置参数空间和观测次数约束;配置参数空间包括全栈配置参数及其取值范围,全栈配置参数包括日志搜索引擎配置参数、JVM配置参数和内核配置参数;基于配置参数空间,采用mREMBO算法随机生成全栈配置参数值,并通过数据聚合器22将全栈配置参数值发送给测试启动器23;可以理解为,配置生成器21用于执行上述图1所示的步骤S11和步骤S12;
测试启动器23,用于采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对日志搜索引擎集群运行基准测试,获得日志搜索引擎集群的目标性能指标的平均值;可以理解为,测试启动器23用于执行上述图1所示的步骤S13;
数据聚合器22,用于将全栈配置参数值与目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中;可以理解为,数据聚合器22用于执行上述图1所示的步骤S14;
配置生成器21,还用于采用mREMBO算法基于观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值,并通过数据聚合器22将次优全栈配置参数值发送给测试启动器23;可以理解为,配置生成器21还用于执行上述图1所示的步骤S15;
测试启动器23,还用于将次优全栈配置参数值替换为全栈配置参数值,返回执行采用自动化运维工具将全栈配置参数值部署到日志搜索引擎集群上,直至在配置生成器21中mREMBO算法的迭代次数满足观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值,并通过配置生成器21输出最优全栈配置参数值;可以理解为,测试启动器23还用于执行上述图1所示的步骤S16;
测试启动器23,还用于接收配置生成器21通过数据聚合器22发送的最优全栈配置参数值,采用自动化运维工具将最优全栈配置参数值部署到日志搜索引擎集群上,完成调整日志搜索引擎集群的全栈配置参数。可以理解为,测试启动器23还用于执行上述图1所示的步骤S17。
即配置生成器21通过mREMBO算法负责在GP迭代过程中,根据数据聚合器22中单次循环的观测数据集生成新配置参数值即次优全栈配置参数值,并输入到数据聚合器22中存储到数据库。数据聚合器22负责收集配置生成器21生成的新配置参数值即次优全栈配置参数值,并次优全栈配置参数值发送给测试启动器23,收集测试启动器23的相关目标性能指标,并将与其对应的新配置参数值作为一组数据对存储在数据库中。测试启动器23负责采用自动化运维工具在日志搜索引擎集群上自动部署新配置参数值,以及采用性能测试基准工具测试日志搜索引擎集群的性能,以获得相关目标性能指标,并将相关目标性能指标发送给数据聚合器22,换言之,测试启动器23完成了高维配置参数的自动配置、自动部署、性能测试等过程。其中,测试启动器23将每个迭代重复一定时间,并将相关目标性能指标(图3以中间索引吞吐量为例)的平均值发送给数据聚合器22。
在一种可能的设计中,自动化运维工具为ansible工具,日志搜索引擎集群为Elasticsearch集群或Solr集群;性能测试基准工具为Rally工具,目标性能指标为日志搜索引擎集群的中间索引吞吐量。
在一种可能的设计中,测试启动器23具体用于:采用性能测试基准工具对日志搜索引擎集群运行基准测试,获得性能测试数据;基于性能测试数据,计算得到目标性能指标的平均值。
在一种可能的设计中,配置生成器21具体用于:基于配置参数空间,采用mREMBO算法生成嵌入参数空间;采用mREMBO算法基于嵌入参数空间的初始随机点,生成初始高斯过程GP模型,获得全栈配置参数值。
作为一种示例,可以使用Python来实现日志搜索引擎的参数配置调整系统的主要部分,并使用YAML编写的专用剧本,将日志搜索引擎(如Elasticsearch)部署到本地集群,再利用Ansible工具提供的接口来实现日志搜索引擎的参数配置调整系统中的自动配置更新功能。在此场景下,日志搜索引擎的参数配置调整系统可以轻松扩展,以支持其他日志搜索引擎的自动配置参数优化。
需要说明的是,上述配置生成器21、数据聚合器22和测试启动器23可以为一种逻辑功能划分,在具体实施时可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上集成在一个集成的功能单元中,本发明对此不作限定。其中,上述配置生成器21、数据聚合器22和测试启动器23既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现,本发明对此不作限定。
本发明实施例中的日志搜索引擎的参数配置调整系统与上述图1所示的日志搜索引擎的参数配置调整方法是基于同一构思下的发明,通过前述对日志搜索引擎的参数配置调整方法的详细描述,本领域技术人员可以清楚的了解本实施例中日志搜索引擎的参数配置调整系统的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,本发明实施例还提供了一种计算机装置,如图4所示,计算机装置30可以包括:至少一个存储器31和至少一个处理器32。其中:
至少一个存储器31用于存储一个或多个程序。
当一个或多个程序被至少一个处理器32执行时,实现上述图1所示的日志搜索引擎的参数配置调整方法。
计算机装置30还可以可选地包括通信接口,通信接口用于与外部设备进行通信和数据交互传输。
需要说明的是,存储器31可能包含高速RAM存储器,也可能还包括非易失性存储器(nonvolatile memory),例如至少一个磁盘存储器。
在具体的实现过程中,如果存储器31、处理器32及通信接口集成在一块芯片上,则存储器31、处理器32及通信接口可以通过内部接口完成相互间的通信。如果存储器31、处理器32和通信接口独立实现,则存储器31、处理器32和通信接口可以通过总线相互连接并完成相互间的通信。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以存储有至少一个程序,当至少一个程序被处理器执行时,实现上述图1所示的日志搜索引擎的参数配置调整方法。
应当理解,计算机可读存储介质为可存储数据或程序的任何数据存储设备,数据或程序其后可由计算机系统读取。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备等。
计算机可读存储介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等,或者上述的任意合适的组合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (10)

1.一种日志搜索引擎的参数配置调整方法,其特征在于,包括:
获取配置参数空间和观测次数约束;所述配置参数空间包括全栈配置参数及其取值范围,所述全栈配置参数包括日志搜索引擎配置参数、JVM配置参数和内核配置参数;
基于所述配置参数空间,采用改进的随机嵌入贝叶斯优化mREMBO算法随机生成全栈配置参数值;
采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得所述日志搜索引擎集群的目标性能指标的平均值;
将所述全栈配置参数值与所述目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中;
采用所述mREMBO算法基于所述观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值;
将所述次优全栈配置参数值替换为所述全栈配置参数值,返回执行采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,直至所述mREMBO算法的迭代次数满足等于所述观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值输出;
采用所述自动化运维工具将所述最优全栈配置参数值部署到所述日志搜索引擎集群上,完成调整所述日志搜索引擎集群的全栈配置参数。
2.如权利要求1所述的方法,其特征在于,所述自动化运维工具为ansible工具,所述日志搜索引擎集群为Elasticsearch集群或Solr集群。
3.如权利要求1所述的方法,其特征在于,采用性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得所述日志搜索引擎集群的目标性能指标的平均值,包括:
采用所述性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得性能测试数据;
基于所述性能测试数据,计算得到所述目标性能指标的平均值。
4.如权利要求3所述的方法,其特征在于,所述性能测试基准工具为Rally工具,所述目标性能指标为所述日志搜索引擎集群的中间索引吞吐量。
5.如权利要求1-4任一项所述的方法,其特征在于,基于所述配置参数空间,采用改进的随机嵌入贝叶斯优化mREMBO算法随机生成全栈配置参数值,包括:
基于所述配置参数空间,采用所述mREMBO算法生成嵌入参数空间;
采用所述mREMBO算法基于所述嵌入参数空间的初始随机点,生成初始高斯过程GP模型,获得所述全栈配置参数值。
6.一种日志搜索引擎的参数配置调整系统,其特征在于,包括:配置生成器、数据聚合器和测试启动器,所述数据聚合器分别与所述配置生成器和所述测试启动器连接;其中,
所述配置生成器,用于获取配置参数空间和观测次数约束;所述配置参数空间包括全栈配置参数及其取值范围,所述全栈配置参数包括日志搜索引擎配置参数、JVM配置参数和内核配置参数;基于所述配置参数空间,采用mREMBO算法随机生成全栈配置参数值,并通过所述数据聚合器将所述全栈配置参数值发送给所述测试启动器;
所述测试启动器,用于采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,并采用性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得所述日志搜索引擎集群的目标性能指标的平均值;
所述数据聚合器,用于将所述全栈配置参数值与所述目标性能指标的平均值作为一组数据对存储到数据库中的观测数据集中;
所述配置生成器,还用于采用所述mREMBO算法基于所述观测数据集进行高斯过程GP迭代运算,获得次优全栈配置参数值,并通过所述数据聚合器将所述次优全栈配置参数值发送给测试启动器;
所述测试启动器,还用于将所述次优全栈配置参数值替换为所述全栈配置参数值,返回执行采用自动化运维工具将所述全栈配置参数值部署到日志搜索引擎集群上,直至在所述配置生成器中所述mREMBO算法的迭代次数满足所述观测次数约束为止,将最后获得的次优全栈配置参数值作为最优全栈配置参数值,并通过所述配置生成器输出所述最优全栈配置参数值;
所述测试启动器,还用于接收所述配置生成器通过所述数据聚合器发送的所述最优全栈配置参数值,采用所述自动化运维工具将所述最优全栈配置参数值部署到所述日志搜索引擎集群上,完成调整所述日志搜索引擎集群的全栈配置参数。
7.如权利要求6所述的系统,其特征在于,所述自动化运维工具为ansible工具,所述日志搜索引擎集群为Elasticsearch集群或Solr集群;所述性能测试基准工具为Rally工具,所述目标性能指标为所述日志搜索引擎集群的中间索引吞吐量。
8.如权利要求6所述的系统,其特征在于,所述测试启动器具体用于:采用所述性能测试基准工具对所述日志搜索引擎集群运行基准测试,获得性能测试数据;基于所述性能测试数据,计算得到所述目标性能指标的平均值。
9.如权利要求6-8任一项所述的系统,其特征在于,所述配置生成器具体用于:基于所述配置参数空间,采用所述mREMBO算法生成嵌入参数空间;采用所述mREMBO算法基于所述嵌入参数空间的初始随机点,生成初始高斯过程GP模型,获得所述全栈配置参数值。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个程序;当所述至少一个程序被处理器执行时,实现如权利要求1-5任一项所述的方法。
CN202310378388.8A 2023-04-11 2023-04-11 一种日志搜索引擎的参数配置调整方法、系统及存储介质 Pending CN116089022A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310378388.8A CN116089022A (zh) 2023-04-11 2023-04-11 一种日志搜索引擎的参数配置调整方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310378388.8A CN116089022A (zh) 2023-04-11 2023-04-11 一种日志搜索引擎的参数配置调整方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN116089022A true CN116089022A (zh) 2023-05-09

Family

ID=86212385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310378388.8A Pending CN116089022A (zh) 2023-04-11 2023-04-11 一种日志搜索引擎的参数配置调整方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN116089022A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719584A (zh) * 2023-08-09 2023-09-08 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机、存储介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648654A (zh) * 2016-12-20 2017-05-10 深圳先进技术研究院 一种数据感知的Spark配置参数自动优化方法
CN111176832A (zh) * 2019-12-06 2020-05-19 重庆邮电大学 基于内存计算框架Spark的性能优化和参数配置方法
CN114861039A (zh) * 2022-03-31 2022-08-05 北京优特捷信息技术有限公司 一种搜索引擎的参数配置方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648654A (zh) * 2016-12-20 2017-05-10 深圳先进技术研究院 一种数据感知的Spark配置参数自动优化方法
CN111176832A (zh) * 2019-12-06 2020-05-19 重庆邮电大学 基于内存计算框架Spark的性能优化和参数配置方法
CN114861039A (zh) * 2022-03-31 2022-08-05 北京优特捷信息技术有限公司 一种搜索引擎的参数配置方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HUI DOU ET.AL: "Hdconfigor: Automatically Tuning High Dimensional Configuration Parameters for Log Search Engines", 《IEEE ACCESS》, vol. 8, pages 80638 - 80652 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719584A (zh) * 2023-08-09 2023-09-08 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机、存储介质及程序产品
CN116719584B (zh) * 2023-08-09 2024-01-19 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机、存储介质及程序产品

Similar Documents

Publication Publication Date Title
Karnagel et al. Adaptive work placement for query processing on heterogeneous computing resources
US20100306188A1 (en) Persistent query plans
US9870390B2 (en) Selecting from OR-expansion states of a query
Shi et al. Mrtuner: a toolkit to enable holistic optimization for mapreduce jobs
US9189522B2 (en) SQL execution plan baselines
US20200279187A1 (en) Model and infrastructure hyper-parameter tuning system and method
WO2016165562A1 (en) Apparatus and method for using parameterized intermediate representation for just-in-time compilation in database query execution engine
Wang et al. Research on parallelization of Apriori algorithm in association rule mining
CN111176832A (zh) 基于内存计算框架Spark的性能优化和参数配置方法
CN107908536B (zh) Cpu-gpu异构环境中对gpu应用的性能评估方法及系统
US20190392068A1 (en) Hybrid declarative query compiler and optimizer framework
US9684865B1 (en) System and method for configuration of an ensemble solver
CN116089022A (zh) 一种日志搜索引擎的参数配置调整方法、系统及存储介质
CN110727506A (zh) 一种基于成本模型的spark参数自动调优方法
CN111782452A (zh) 接口对比测试的方法、系统、设备和介质
Fan et al. Graph algorithms: parallelization and scalability
KR20190061616A (ko) 컴포넌트 기반 동적 모델 재구성을 활용한 시뮬레이션 모델 최적화 방법 및 장치
CN112445746B (zh) 一种基于机器学习的集群配置自动优化方法和系统
CN106980673B (zh) 内存数据库表索引更新方法及系统
Wasi-Ur-Rahman et al. MR-Advisor: A comprehensive tuning tool for advising HPC users to accelerate MapReduce applications on supercomputers
Chao et al. Accelerating apache hive with mpi for data warehouse systems
CN112948357B (zh) 一种面向多模数据库OrientDB的调优系统及其构建方法
Liu et al. A hierarchical synchronous parallel model for wide-area graph analytics
CN112948188A (zh) 一种日志文件筛查方法、系统及介质
EP3722967A1 (en) Query tuning utilizing optimizer hints

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20230509