CN112328254A - 一种数据同步软件的性能优化方法与装置 - Google Patents

一种数据同步软件的性能优化方法与装置 Download PDF

Info

Publication number
CN112328254A
CN112328254A CN202011141641.0A CN202011141641A CN112328254A CN 112328254 A CN112328254 A CN 112328254A CN 202011141641 A CN202011141641 A CN 202011141641A CN 112328254 A CN112328254 A CN 112328254A
Authority
CN
China
Prior art keywords
indexes
parameters
effective
data synchronization
optimization
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
CN202011141641.0A
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.)
Wuhan Dameng Database Co Ltd
Original Assignee
Wuhan Dameng Database 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 Wuhan Dameng Database Co Ltd filed Critical Wuhan Dameng Database Co Ltd
Priority to CN202011141641.0A priority Critical patent/CN112328254A/zh
Publication of CN112328254A publication Critical patent/CN112328254A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本发明涉及数据同步优化技术领域,具体涉及一种数据同步软件的性能优化方法与装置,其中方法包括:通过因子分析将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标;通过线性回归和正则化,从数据同步软件的多个参数中筛选出对n个有效指标整体影响最大的m个参数;基于历史数据和高斯过程回归对m个参数进行配置,直至得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存。本发明提供的上述性能优化方案,整个过程可进行自动化的参数调优,降低人工优化的复杂度,减少人工优化的工作量。

Description

一种数据同步软件的性能优化方法与装置
【技术领域】
本发明涉及数据同步优化技术领域,具体涉及一种数据同步软件的性能优化方法与装置。
【背景技术】
数据同步软件的功能比较简单,即实现源端数据库的数据同步到目的端数据库。但是在各类不同的应用环境下,为了使数据同步软件达到最优的同步效率,这通常又是一项艰巨的任务,原因主要有:
(1)参数的依赖关系:许多参数不是独立的,参数与参数之间存在依赖关系,改变一个参数的值可能会影响另一个参数带来的优势。因此,传统的参数优化时通常只能一次更换一个参数,但当碰到大量的参数时,优化的过程便会很慢。
(2)参数的连续设置:某些参数的值是连续的,即有很多种可能的参数设置。比如,内存缓冲池的大小可以是从0到系统上限的任意值。在某些范围内,此参数增加0.1GB可能无关紧要,而在其他范围内,增加0.1GB可能会导致性能急剧下降。
(3)参数的不可重用:即通常不能从一个应用程序到下一个应用程序重用相同的参数配置。因为不同的应用系统要求不一样,环境也不一样,人工花费精力调优了一个应用场景时,此时软件的最佳配置可能对另一个应用场景来说不是最好的。
(4)参数的复杂性:随着数据同步软件新版本和新功能的发布,新的参数也会不断增加,从而使得数据同步软件性能调优很难跟上这些变化。
在传统的方案中,一般是通过人工优化的方式对数据同步软件进行性能调优,但人工优化复杂度高、工作量大,为了使数据同步软件达到最优的同步效率通常费时费力。
鉴于此,克服上述现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明需要解决的技术问题是:
由于参数的依赖关系、连续设置、不可重用等原因,数据同步软件的调优比较困难,传统的方案中一般通过人工优化实现,但人工优化复杂度高、工作量大,为了使数据同步软件达到最优的同步效率通常费时费力,为解决上述问题,本发明提出一种自动化的参数调优方法,用于实现数据同步软件的性能优化。
本发明通过如下技术方案达到上述目的:
第一方面,本发明提供了一种数据同步软件的性能优化方法,其特征在于,数据同步软件内设有多个参数和多个度量指标,参数配置决定度量指标;则性能优化方法包括:
通过因子分析将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标;
通过线性回归和正则化,从数据同步软件的多个参数中筛选出对所述n个有效指标整体影响最大的m个参数;
基于历史数据和高斯过程回归对所述m个参数进行配置,直至得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存;
其中,所述历史数据中包括历史每次进行性能优化时,每次配置的m个参数和对应得到的n个有效指标。
优选地,所述通过因子分析将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标,具体为:
通过因子分析获取各度量指标间的相关系数,并将相关系数大于预设系数的度量指标划分到一个组,最终将数据同步软件的多个度量指标分为n组;
对于每个分组,根据该分组内一个或多个度量指标的共性构造一个有效指标,用来统一表示该分组内的度量指标,则n个分组最终得到n个有效指标。
优选地,所述通过线性回归和正则化,从数据同步软件的多个参数中筛选出对所述n个有效指标整体影响最大的m个参数,具体为:
通过Lasso线性回归法分析所述n个有效指标与数据同步软件的多个参数之间的关系,得到从所述多个参数到所述n个有效指标的线性映射函数;
采用正则化按照对所述n个有效指标的影响程度调整所述线性映射函数中各参数的数量级,并从所述多个参数中选出数量级大于预设阈值的m个参数。
优选地,当首次进行性能优化时,所述历史数据为空,则所述基于历史数据和高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存,具体为:
数据同步软件按照初始默认的m个参数运行预设时间后采集对应的多个度量指标,根据采集到的多个度量指标计算n个有效指标,并将本次运行对应的m个参数和n个有效指标以映射形式保存;
在当前保存的m个参数和n个有效指标的基础上,通过高斯过程回归重新配置m个参数,通过采集和计算得到对应的n个有效指标,并将本次配置的m个参数和对应的n个有效指标以映射形式保存;
判断最新获取的n个有效指标是否满足优化需求,如果不满足则继续通过高斯过程回归重新配置m个参数,直至最新获取的n个有效指标满足优化需求;其中,每次重新配置后将对应的m个参数和n个有效指标以映射形式保存。
优选地,当非首次进行性能优化时,所述历史数据中已经包含所述m个参数和所述n个有效指标的多个映射关系,则所述基于历史数据和高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存,具体为:
通过比较用户给出的n个期望有效指标与历史数据中已有的有效指标,找寻与n个期望有效指标最相似的n个有效指标,并获取对应的m个参数;
判断该n个有效指标是否满足优化需求,如果不满足则通过高斯过程回归重新配置m个参数,直至最新获取的n个有效指标满足优化需求;其中,每次重新配置后将对应的m个参数和n个有效指标以映射形式保存。
优选地,所述n个期望有效指标的设定方法具体为:
用于根据优化需求给定n个期望有效指标;或者,
用户根据优化需求给定数据同步软件的多个期望度量指标,根据相关性将多个期望度量指标划分为n组,并基于n组期望度量指标构造出对应的n个期望有效指标。
优选地,所述通过比较用户给出的n个期望有效指标与历史数据中已有的有效指标,找寻与n个期望有效指标最相似的n个有效指标,具体为:
将历史数据中已有的每组n个有效指标作为一个n维向量,将用户给出的n个期望有效指标作为n维基准向量;
计算每个n维向量与n维基准向量之间的距离,距离所述n维基准向量最近的n维向量对应的n个有效指标,即为需要找寻的最相似的n个有效指标。
优选地,所述参数包括IO空闲时间、日志分析线程数、日志排序缓冲大小、日志分析链表大小、日志内存堆大小、工作线程数、事务缓存大小、批量执行行数和提交压缩比率中的至少两项。
优选地,所述度量指标包括日志缓存量、日志解析量、日志投递数、日志发送队列、日志接收队列、提交事务数、活动事务数和网络同步延迟中的至少两项。
第二方面,本发明还提供了一种数据同步软件的性能优化装置,用于完成第一方面所述的性能优化方法,包括客户端控制器和调优管理器;
所述客户端控制器用于与需要进行性能优化的数据同步软件交互,以便采集来自数据同步软件的参数和度量指标,并传输至所述调优管理器;
所述调优管理器用于将接收到的数据存储在内部的数据库中,经处理得到n个有效指标和对所述n个有效指标整体影响最大的m个参数,在进行性能优化时基于历史数据和高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存在数据库中。
与现有技术相比,本发明的有益效果是:
本发明提供的数据同步软件的性能优化方法中,可通过因子分析、线性回归和正则化等机器学习方法,将数据同步软件的多个参数和多个度量指标进行简化,选出对整体性能影响最大的部分参数;进行性能优化时基于过去的历史数据经验,通过机器学习方法不断对这部分参数进行配置优化,直至测量得到的指标满足优化需求,整个过程可进行自动化的参数调优,降低人工优化的复杂度,减少人工优化的工作量。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据同步软件的性能优化方法流程图;
图2为本发明实施例提供的一种度量指标的简化方法流程图;
图3为本发明实施例提供的一种参数的简化方法流程图;
图4为本发明实施例提供的一种首次性能优化时的参数配置流程图;
图5为本发明实施例提供的一种非首次性能优化时的参数配置流程图;
图6为本发明实施例提供的一种数据同步软件的性能优化装置架构图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
实施例1:
为解决传统的人工进行数据同步软件的性能优化时复杂度高、工作量大的技术问题,本发明实施例提供了一种数据同步软件的性能优化方法,可用于实现数据同步软件的自动化性能优化。
其中,首先需要明确的是,数据同步软件内部通常设有多个参数和多个度量指标,参数信息和度量指标信息均可由数据同步软件内存采集得到。不同的参数配置下,采集得到的度量指标也不同,即参数配置决定了度量指标。所述参数通常包括IO空闲时间、日志分析线程数、日志排序缓冲大小、日志分析链表大小、日志内存堆大小、工作线程数、事务缓存大小、批量执行行数和提交压缩比率等等;所述度量指标通常包括日志缓存量、日志解析量、日志投递数、日志发送队列、日志接收队列、提交事务数、活动事务数和网络同步延迟等,可直接通过操作系统和数据同步软件本身查看得到。本发明的目标就是,通过机器学习的方法找到一套参数配置,使得在该参数配置下,数据同步软件的整体度量指标能够达到优化需求,也就是此时数据同步软件各方面的整体性能达到用户的优化目标。
如图1所示,本发明实施例提供的性能优化方法主要包括以下步骤:
步骤10,通过因子分析将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标。
数据同步软件内部的度量指标有很多个,有些度量指标其实是起相同的度量作用,可能只是单位不同,例如data_read和page_read,因此没有必要同时考虑;这是因为如果同时考虑所有的度量指标,会导致后续进行性能优化时机器学习算法的搜索空间过大,整体的优化效率降低。为此,这里采用因子分析方法将多个度量指标进行简化,即减少指标个数,从而减少后续进行性能优化时机器学习算法的搜索空间,加速整个学习过程,快速配置到满足优化需求的参数。具体的指标简化过程可参考图2:
步骤101,通过因子分析获取各度量指标间的相关系数,并将相关系数大于预设系数的度量指标划分到一个组,最终将数据同步软件的多个度量指标分为n组。这里实际上就是根据相关性大小把所有的度量指标分组,目的就是找出一些具有共性或本质相同的度量指标划分到一组,使得同组内的度量指标之间相关性较高,不同组的度量指标之间不相关或相关性较低。例如,io_data_read和io_page_read这两个都是表达io读,因此可以划分到一个组中。
步骤102,对于每个分组,根据该分组内一个或多个度量指标的共性构造一个有效指标,用来统一表示该分组内的度量指标,则n个分组最终得到n个有效指标;其中,所述有效指标的值可以取对应分组内一个或多个度量指标的平均值。例如,io_data_read和io_page_read这两个度量指标都是表达io读,则可以构造一个有效指标“io读”来统一表示,“io读”的值可以取两个度量指标的平均值,即io读=(io_data_read+io_page_read)/2。
基于上述因子分析法,假设数据同步软件内部共有N个度量指标,则简化后可将N个度量指标缩减为n个有效指标,显然n是远小于N的,如此一来即可大大简化后续性能优化过程,提高优化效率。
步骤20,通过线性回归和正则化,从数据同步软件的多个参数中筛选出对所述n个有效指标整体影响最大的m个参数。
数据同步软件内部的参数同样有很多个,有些参数对软件整体性能影响其实很小,可以忽略不计。如果在进行性能优化时全部考虑进来的话,同样会导致后续机器学习算法的搜索空间过大,整体的优化效率降低;而且,考虑全部参数还可能会造成过拟合的现象。因此,步骤10中将度量指标进行简化后,接下来需要进一步识别哪些参数对数据同步软件的度量指标影响最大,即进行参数的简化。此处使用Lasso的线性回归方法和正则化来发现与系统整体度量指标最强相关的参数,具体的指标简化过程可参考图3:
步骤201,通过Lasso线性回归法分析所述n个有效指标与数据同步软件的多个参数之间的关系,得到从所述多个参数到所述n个有效指标的线性映射函数。线性回归是分析结果变量与自变量之间关系强度的方法,自变量与结果变量之间的关系是线性的;这里将所述n个有效指标作为结果变量,所述多个参数作为自变量,找寻所述n个有效指标与所述多个参数之间的关系,即找到一个从特征空间X(即所述多个参数)到输出空间Y(即所述n个有效指标)的最优线性映射函数,这里可通过最小二乘法找到这样一条直线。
步骤202,采用正则化按照对所述n个有效指标的影响程度调整所述线性映射函数中各参数的数量级,并从所述多个参数中选出数量级大于预设阈值的m个参数。如果考虑全部参数对性能影响的话,有可能会造成过拟合,也就是得到的线性映射函数(即直线)在面对新的参数数据时会显得不知所措;例如,考虑参数a、b、c和有效指标d,通过5组参数a、b、c得出的直线在遇到一组新的参数a、b、c数据时,发现这组参数数据距离直线非常远,那么这条直线就出现了过拟合的问题;而实际导致该问题的原因可能是不应该将参数a考虑进来。因此此时便需要进行正则化操作,只关注有用的数据(即对整体性能影响较大的参数),忽略干扰项(即对整体性能影响很小的参数)。
这里通过使用lasso的正则化,可以将对不重要参数的数量级减小,数量级越小证明该参数对整体性能的影响越小,这样就可以将数量级小于预设阈值的参数自动抹除,只保留数量级大于预设阈值的参数。假设数据同步软件内部共有M个参数,则简化后可将M个参数删除到剩余m个参数,显然m是远小于M的,如此一来便可防止过拟合现象的发生,同时可大大简化后续性能优化过程,提高优化效率。
步骤30,基于历史数据和高斯过程回归对所述m个参数进行配置,直至得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存。
其中,所述历史数据保存在数据库中,包括历史每次进行性能优化时,每次配置的m个参数和对应得到的n个有效指标。为便于描述可将所述m个参数记为最小参数集,所述n个有效指标记为最小指标集,则数据库中保存的是最小参数集1--->最小指标集1,最小参数集2--->最小指标集2,...,最小参数集i--->最小指标集i这样的映射关系。最小参数集实际上是一个m维向量,最小指标集实际上是一个n维向量,因此数据库中保存的实际上也是多维向量与多维向量之间的映射关系。
当首次进行性能优化时,所述历史数据为空,需要先以初始默认的参数运行一次后获取对应有效指标,进行数据保存,再基于保存的数据通过高斯过程回归进行参数配置。具体过程可参考图4,包括以下步骤:
步骤301,数据同步软件按照初始默认的m个参数运行预设时间后采集对应的多个度量指标,根据采集到的多个度量指标计算n个有效指标,并将本次运行对应的m个参数和n个有效指标以映射形式保存。
其中,各有效指标的计算方法上文已介绍,可直接取对应分组内各度量指标的平均值;完成数据采集和保存后,此时数据库中保存的是最小参数集1--->最小指标集1的映射关系。
步骤302,在当前保存的m个参数和n个有效指标的基础上,通过高斯过程回归重新配置m个参数,通过采集和计算得到对应的n个有效指标,并将本次配置的m个参数和对应的n个有效指标以映射形式保存。
也就是先根据此时数据库中保存的最小参数集1--->最小指标集1的映射关系,通过高斯过程回归得到能够进一步改善最小指标集的最新参数配置,即重新配置最小参数集;其次将数据同步软件按照重新配置的最小参数集运行预设时间后采集对应的多个度量指标,然后根据采集到的多个度量指标计算n个有效指标,得到最新的最小指标集;最后将最新的最小指标集和最小参数集以映射形式保存在数据库中,即保存最小参数集2--->最小指标集2的映射关系。
步骤303,判断最新获取的n个有效指标是否满足优化需求,如果不满足则继续通过高斯过程回归重新配置m个参数,直至最新获取的n个有效指标满足优化需求;其中,每次重新配置后将对应的m个参数和n个有效指标以映射形式保存。
这里可由用户根据最新的最小指标集来判断是否满足优化需求,如果已满足优化需求,则性能优化结束,直接将数据同步软件按照最新配置的m个参数运行即可。如果不满足优化需求,则根据当前数据库中存储的各映射关系,继续通过高斯过程回归重新配置最小参数集,数据同步软件按照重新配置的最小参数集运行预设时间后采集对应的多个度量指标,然后根据采集到的多个度量指标计算n个有效指标,得到最新的最小指标集,直至用户根据最新的最小指标集判断已满足优化需求。其中,每次按照重新配置的最小参数集运行之后,将最新的最小指标集和最小参数集以映射形式保存在数据库中,则数据库中保存有最小参数集i--->最小指标集i的多个映射关系。
当后续再进行性能优化时,即非首次进行性能优化时,所述历史数据中已经包含所述m个参数和所述n个有效指标的多个映射关系,即最小参数集i--->最小指标集i的多个映射关系,则可先根据历史数据找到与用户给出的期望指标最相似的最小指标集,再找到对应的最小参数集进行参数配置。具体过程可参考图5,包括以下步骤:
步骤301’,通过比较用户给出的n个期望有效指标与历史数据中已有的有效指标,找寻与n个期望有效指标最相似的n个有效指标,并获取对应的m个参数。
这里可由用于根据优化需求给定n个期望有效指标,即n个有效指标对应的期望优化值;也可以是由用户根据优化需求给定数据同步软件的多个期望度量指标,即多个度量指标对应的期望优化值,后续再简化为n个期望有效指标进行比较;具体简化过程同样是通过因子分析法根据相关性将多个期望度量指标划分为n组,然后基于n组期望度量指标构造出对应的n个期望有效指标,具体不做赘述。其中,历史数据中已有的每组n个有效指标都可以作为一个n维向量,用户给出的n个期望有效指标可以作为n维基准向量;则在找寻最相似指标时可计算每个n维向量与n维基准向量之间的距离,距离所述n维基准向量最近的n维向量对应的n个有效指标,即为需要找寻的最相似的n个有效指标。
步骤302’,判断该n个有效指标是否满足优化需求,如果不满足则通过高斯过程回归重新配置m个参数,直至最新获取的n个有效指标满足优化需求;其中,每次重新配置后将对应的m个参数和n个有效指标以映射形式保存。
这里可由用户先根据最相似的这n个有效指标判断是否满足优化需求,如果已满足优化需求,则直接按照该最相似的n个有效指标对应的m个参数进行参数配置即可,使数据同步软件按照该最相似的n个有效指标对应的m个参数运行,性能优化结束。如果不满足优化需求,则根据当前数据库中存储的各映射关系,在该最相似的n个有效指标对应的m个参数的基础上,通过高斯过程回归重新配置最小参数集,数据同步软件按照重新配置的最小参数集运行预设时间后采集对应的多个度量指标,然后根据采集到的多个度量指标计算n个有效指标,得到最新的最小指标集,直至用户根据最新的最小指标集判断已满足优化需求。其中,每次按照重新配置的最小参数集运行之后,将最新的最小指标集和最小参数集以映射形式保存在数据库中,以备后续性能优化时继续使用。
进一步地,在进行优化时,用户大部分情况下可能并不会关注所有的度量指标或有效指标,而是只对其中一部分指标有优化需求。因此,用户在判断最新的最小指标集是否满足优化需求时,只需要确认最小指标集中自己关注的那部分指标是否达到优化目的即可,只要自己关注的那部分指标与对应设定的标准优化值接近,即可判断达到优化需求。
其中,高斯过程用来表示函数的分布情况,回归就是要找到最能符合数据分布的一个函数,这里的函数即为最小参数集与最小指标集的映射关系。对于最小参数集,由于每个参数的取值通常有一个范围,因此可将每个参数在对应的区间范围内均匀取值,最终得到一个输入为最小参数集(即X向量,包括m个参数),输出为最小指标集(即Y向量,包括n个有效指标)的函数分布,基于该函数即可找到使Y值最优的X值,也就是找到使最小指标集最优的最小参数集。
本发明提供的上述数据同步软件的性能优化方法,可通过因子分析、线性回归和正则化等机器学习方法,将数据同步软件的多个参数和多个度量指标进行简化,选出对整体性能影响最大的部分参数;进行性能优化时基于过去的历史数据经验,通过高斯过程回归的机器学习方法不断对这部分参数进行配置优化,直至测量得到的指标满足优化需求,整个过程可进行自动化的参数调优,降低人工优化的复杂度,减少人工优化的工作量。
实施例2:
在上述实施例1提供的数据同步软件的性能优化方法的基础上,本发明还提供了一种可用于实现上述方法的数据同步软件的性能优化装置,如图6所示,包括客户端控制器和调优管理器。
所述客户端控制器在由用户启动后,可用于与需要进行性能优化的数据同步软件交互,以便采集来自数据同步软件的参数和度量指标,并传输至所述调优管理器。
所述调优管理器用于将接收到的数据存储在内部的数据库中,经处理得到n个有效指标和对所述n个有效指标整体影响最大的m个参数,在进行性能优化时基于机器学习方法中的高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存在数据库中。其中,所述机器学习方法中主要包括因子分析、线性回归、高斯过程回归的方法。
所述调优管理器内包括分析模块和决策模块,所述分析模块可调用所述机器学习方法中的因子分析方法,将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标;还可调用所述机器学习方法中的线性回归方法,从数据同步软件的多个参数中筛选出对所述n个有效指标整体影响最大的m个参数。
所述决策模块可调用所述机器学习方法中的高斯过程回归方法,基于历史数据和高斯过程回归对所述m个参数进行配置,直至得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存。
其中,每次重新配置参数并运行预设时间后,所述客户端控制器便可采集来自数据同步软件的所述m个参数和多个度量指标,并传输至所述调优管理器。所述决策模块可基于接收到的多个度量指标计算出n个有效指标,然后将m个参数与n个有效指标以映射形式保存至数据库中,并可将映射关系再返回给所述客户端控制器,由用户判断是否满足优化需求。用户通过所述客户端控制器将判断结果反馈给所述调优管理器,如果满足优化需求,则优化结束;如果不满足优化需求,则所述决策模块继续基于高斯过程回归进行参数配置,不断与所述客户端控制器进行交互,直至用户返回满足优化需求的结果,优化结束。
本领域普通技术人员可以理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据同步软件的性能优化方法,其特征在于,数据同步软件内设有多个参数和多个度量指标,参数配置决定度量指标;则性能优化方法包括:
通过因子分析将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标;
通过线性回归和正则化,从数据同步软件的多个参数中筛选出对所述n个有效指标整体影响最大的m个参数;
基于历史数据和高斯过程回归对所述m个参数进行配置,直至得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存;
其中,所述历史数据中包括历史每次进行性能优化时,每次配置的m个参数和对应得到的n个有效指标。
2.根据权利要求1所述的数据同步软件的性能优化方法,其特征在于,所述通过因子分析将数据同步软件的多个度量指标按照相关性划分为n组,并基于n组度量指标构造出对应的n个有效指标,具体为:
通过因子分析获取各度量指标间的相关系数,并将相关系数大于预设系数的度量指标划分到一个组,最终将数据同步软件的多个度量指标分为n组;
对于每个分组,根据该分组内一个或多个度量指标的共性构造一个有效指标,用来统一表示该分组内的度量指标,则n个分组最终得到n个有效指标。
3.根据权利要求1所述的数据同步软件的性能优化方法,其特征在于,所述通过线性回归和正则化,从数据同步软件的多个参数中筛选出对所述n个有效指标整体影响最大的m个参数,具体为:
通过Lasso线性回归法分析所述n个有效指标与数据同步软件的多个参数之间的关系,得到从所述多个参数到所述n个有效指标的线性映射函数;
采用正则化按照对所述n个有效指标的影响程度调整所述线性映射函数中各参数的数量级,并从所述多个参数中选出数量级大于预设阈值的m个参数。
4.根据权利要求1所述的数据同步软件的性能优化方法,其特征在于,当首次进行性能优化时,所述历史数据为空,则所述基于历史数据和高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存,具体为:
数据同步软件按照初始默认的m个参数运行预设时间后采集对应的多个度量指标,根据采集到的多个度量指标计算n个有效指标,并将本次运行对应的m个参数和n个有效指标以映射形式保存;
在当前保存的m个参数和n个有效指标的基础上,通过高斯过程回归重新配置m个参数,通过采集和计算得到对应的n个有效指标,并将本次配置的m个参数和对应的n个有效指标以映射形式保存;
判断最新获取的n个有效指标是否满足优化需求,如果不满足则继续通过高斯过程回归重新配置m个参数,直至最新获取的n个有效指标满足优化需求;其中,每次重新配置后将对应的m个参数和n个有效指标以映射形式保存。
5.根据权利要求1所述的数据同步软件的性能优化方法,其特征在于,当非首次进行性能优化时,所述历史数据中已经包含所述m个参数和所述n个有效指标的多个映射关系,则所述基于历史数据和高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存,具体为:
通过比较用户给出的n个期望有效指标与历史数据中已有的有效指标,找寻与n个期望有效指标最相似的n个有效指标,并获取对应的m个参数;
判断该n个有效指标是否满足优化需求,如果不满足则通过高斯过程回归重新配置m个参数,直至最新获取的n个有效指标满足优化需求;其中,每次重新配置后将对应的m个参数和n个有效指标以映射形式保存。
6.根据权利要求5所述的数据同步软件的性能优化方法,其特征在于,所述n个期望有效指标的设定方法具体为:
用于根据优化需求给定n个期望有效指标;或者,
用户根据优化需求给定数据同步软件的多个期望度量指标,根据相关性将多个期望度量指标划分为n组,并基于n组期望度量指标构造出对应的n个期望有效指标。
7.根据权利要求5所述的数据同步软件的性能优化方法,其特征在于,所述通过比较用户给出的n个期望有效指标与历史数据中已有的有效指标,找寻与n个期望有效指标最相似的n个有效指标,具体为:
将历史数据中已有的每组n个有效指标作为一个n维向量,将用户给出的n个期望有效指标作为n维基准向量;
计算每个n维向量与n维基准向量之间的距离,距离所述n维基准向量最近的n维向量对应的n个有效指标,即为需要找寻的最相似的n个有效指标。
8.根据权利要求1-7任一所述的数据同步软件的性能优化方法,其特征在于,所述参数包括IO空闲时间、日志分析线程数、日志排序缓冲大小、日志分析链表大小、日志内存堆大小、工作线程数、事务缓存大小、批量执行行数和提交压缩比率中的至少两项。
9.根据权利要求1-7任一所述的数据同步软件的性能优化方法,其特征在于,所述度量指标包括日志缓存量、日志解析量、日志投递数、日志发送队列、日志接收队列、提交事务数、活动事务数和网络同步延迟中的至少两项。
10.一种数据同步软件的性能优化装置,其特征在于,用于完成权利要求1-9任一所述的性能优化方法,包括客户端控制器和调优管理器;
所述客户端控制器用于与需要进行性能优化的数据同步软件交互,以便采集来自数据同步软件的参数和度量指标,并传输至所述调优管理器;
所述调优管理器用于将接收到的数据存储在内部的数据库中,经处理得到n个有效指标和对所述n个有效指标整体影响最大的m个参数,在进行性能优化时基于历史数据和高斯过程回归对所述m个参数进行配置,直至对应得到的n个有效指标满足优化需求,并将每次配置的m个参数和对应得到的n个有效指标以映射形式保存在数据库中。
CN202011141641.0A 2020-10-22 2020-10-22 一种数据同步软件的性能优化方法与装置 Pending CN112328254A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011141641.0A CN112328254A (zh) 2020-10-22 2020-10-22 一种数据同步软件的性能优化方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011141641.0A CN112328254A (zh) 2020-10-22 2020-10-22 一种数据同步软件的性能优化方法与装置

Publications (1)

Publication Number Publication Date
CN112328254A true CN112328254A (zh) 2021-02-05

Family

ID=74311373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011141641.0A Pending CN112328254A (zh) 2020-10-22 2020-10-22 一种数据同步软件的性能优化方法与装置

Country Status (1)

Country Link
CN (1) CN112328254A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491188A (zh) * 2022-01-21 2022-05-13 江苏明月软件技术有限公司 数据容量的可视化方法、系统及计算机可读存储介质
CN114861039A (zh) * 2022-03-31 2022-08-05 北京优特捷信息技术有限公司 一种搜索引擎的参数配置方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491188A (zh) * 2022-01-21 2022-05-13 江苏明月软件技术有限公司 数据容量的可视化方法、系统及计算机可读存储介质
CN114491188B (zh) * 2022-01-21 2023-10-17 江苏明月软件技术股份有限公司 数据容量的可视化方法、系统及计算机可读存储介质
CN114861039A (zh) * 2022-03-31 2022-08-05 北京优特捷信息技术有限公司 一种搜索引擎的参数配置方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US8600977B2 (en) Automatic recognition and capture of SQL execution plans
US9720941B2 (en) Fully automated SQL tuning
US6622221B1 (en) Workload analyzer and optimizer integration
US9317539B2 (en) Time-series database setup automatic generation method, setup automatic generation system and monitoring server
US20100306188A1 (en) Persistent query plans
CN112328254A (zh) 一种数据同步软件的性能优化方法与装置
US20070143246A1 (en) Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query
CN114415945A (zh) 一种分布式存储系统的参数调优方法、系统、设备、介质
Gedik et al. A load shedding framework and optimizations for m-way windowed stream joins
CN111913939A (zh) 一种基于强化学习的数据库集群优化系统及方法
CN114706840A (zh) 面向负载感知的多模数据库ArangoDB参数调优的方法
CN115687304A (zh) 一种Flink状态存储优化方法及装置
CN112910798B (zh) 一种流量自动调度方法、系统、设备及存储介质
CN116401236A (zh) 一种数据库参数自适应优化的方法及设备
CN112182031A (zh) 数据查询方法及装置、存储介质、电子装置
CN115640278B (zh) 一种数据库性能智能优化的方法及系统
CN117172093A (zh) 基于机器学习的Linux系统内核配置的策略优化方法及装置
CN116860789A (zh) 一种数据分布优化方法及分布式数据库系统
CN110059107A (zh) 计划优化方法、装置、系统及计算机可读存储介质
CN112269660B (zh) 一种海量数据处理并发任务自适应测控方法及系统
CN115509931A (zh) 基于系统的性能测试方法、装置、电子设备及存储介质
CN114861039A (zh) 一种搜索引擎的参数配置方法、装置、设备及存储介质
EP3955128A1 (en) Optimization of files compression
CN117851206A (zh) 一种Flink多维度关键配置参数智能筛选方法与系统
CN116962265A (zh) 网络巡检方法、装置、计算机设备及可读存储介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant after: Wuhan dream database Co., Ltd

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant before: WUHAN DAMENG DATABASE Co.,Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Feng Yuan

Inventor after: Yu Yuanlan

Inventor after: Song Tianyang

Inventor before: Fu Quan

Inventor before: Feng Yuan

Inventor before: Yu Yuanlan

Inventor before: Song Tianyang