CN111324644B - 大型微服务架构下的数据库连接风暴的监控方法及装置 - Google Patents
大型微服务架构下的数据库连接风暴的监控方法及装置 Download PDFInfo
- Publication number
- CN111324644B CN111324644B CN201811436406.9A CN201811436406A CN111324644B CN 111324644 B CN111324644 B CN 111324644B CN 201811436406 A CN201811436406 A CN 201811436406A CN 111324644 B CN111324644 B CN 111324644B
- Authority
- CN
- China
- Prior art keywords
- database
- connection
- connection pool
- active
- micro
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012544 monitoring process Methods 0.000 title claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 37
- 239000002775 capsule Substances 0.000 claims description 12
- 238000003062 neural network model Methods 0.000 claims description 11
- 238000012806 monitoring device Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000523 sample Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据库连接风暴的监控方法及装置,所述方法包括:将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;将所述数据库连接池参数配置到每一微服务实例中。本发明实施例提供的数据库连接风暴的监控方法及装置,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
Description
技术领域
本发明实施例涉及数据库监控技术领域,尤其涉及一种大型微服务架构下的数据库连接风暴的监控方法及装置。
背景技术
微服务是一种系统架构的形式,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的,同一个微服务通常会部署多个实例。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
随着微服务和云计算的发展,系统应用层水平扩展变的越来越容易,但是关系型数据库(例如,ORACLE)水平扩展仍存在诸多困难,因此会出现很多个微服务实例调用单个数据库的问题,数据库成为系统的瓶颈。数据库连接的创建和释放需要消耗大量的系统资源,当微服务实例批量重启或者业务量突增的情况下会造成短期内大量的数据库连接创建和释放,引起数据库系统资源紧张,进而造成连接风暴。
现有技术中,解决数据库连接风暴方法主要是给调用数据库的每个微服务实例配置一个数据库连接池,数据库连接池负责分配、管理和释放数据库连接,通过设置数据库连接池的参数(最小空闲连接数和最大空闲连接数),使得微服务实例可以在一定范围内重复使用现有的数据库连接,而不是再重新建立一个,降低数据库连接创建和释放频率,避免连接风暴。
设置数据库连接池参数的方式主要包括:以应用每秒事务处理量(TPS)作为依据,然后按经验配以一定的折算系数来配置微服务实例数据库连接池参数;或者,给微服务实例设置固定的数据库连接池参数。
但是,现有技术中的数据库连接池参数配置方式,存在很大的误差,在极端条件下,仍容易引发连接风暴;人工方式管理数据库连接池参数配置,工作量大,难度高;在发生连接风暴的时候系统不能及时监测,以消除连接风暴。
发明内容
本发明实施例的目的是提供一种克服上述问题或者至少部分地解决上述问题的大型微服务架构下的数据库连接风暴的监控方法及装置。
为了解决上述技术问题,一方面,本发明实施例提供一种数据库连接风暴的监控方法,包括:
将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;
将所述数据库连接池参数配置到每一微服务实例中。
另一方面,本发明实施例提供一种数据库连接风暴的监控装置,包括:
计算模块,用于将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;
配置模块,用于将所述数据库连接池参数配置到每一微服务实例中。
再一方面,本发明实施例提供一种电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。
又一方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述的方法。
本发明实施例提供的数据库连接风暴的监控方法及装置,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
附图说明
图1为本发明实施例提供的数据库连接风暴的监控方法示意图;
图2为本发明实施例提供的数据库连接风暴的监控装置示意图;
图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的数据库连接风暴的监控方法示意图,如图1所示,本发明实施例提供一种数据库连接风暴的监控方法,其执行主体为数据库连接风暴的监控装置,该方法包括:
步骤S101、将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;
步骤S102、将所述数据库连接池参数配置到每一微服务实例中。
具体来说,首先,将获取到的活跃数据库连接数输入至预设的连接池配置算法模型,输出数据库连接池参数。通过该连接池配置算法模型能够精准地计算出数据库连接池参数。
每个微服务实例中都设置有数据库连接池,数据库连接池用于分配、管理和释放数据库连接。
计算出数据库连接池参数之后,将数据库连接池参数配置到每一微服务实例中,通过设置数据库连接池的参数,即,设置数据库连接池的最小空闲连接数和最大空闲连接数,使得微服务实例可以在一定范围内重复使用现有的数据库连接,而不是再重新建立一个,降低数据库连接创建和释放频率,避免数据库连接风暴。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
在上述实施例的基础上,进一步地,所述将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数之前,还包括:
通过在数据库和微服务实例中植入的监测探针获取所述活跃数据库连接数。
具体来说,随着微服务的设计理念在系统中的应用,应用的部署及调用链越来越复杂,涉及的应用和环境越来越多,通过在数据库和微服务实例中植入监测探针的方式,以一定的频率,例如,可以设置10s,实时收集各个数据库和微服务实例的性能数据和调用链数据,包括活跃数据库连接数。然后将采集的数据进行清洗、分析和聚合后存储在数据库,作为数据库连接池参数初始设置、连接风暴监测和连接池参数临时调节依据。
数据的获取过程主要包含数据采集、数据传输、数据接收、清洗、分析和聚合、数据存储几个部分,其中最核心的部分是性能数据和调用链数据采集。
性能数据由时间戳、数据、标签三部分组成。
性能数据的指标值包括,CPU使用率、TPS、创建连接数和销毁连接数。
标签包括索引标签、实例名和IP地址。
另外,通过调用链数据可以知道一个数据库上连接的所有的上层微服务实例的运行情况。运行情况包括最小空闲连接数、最大空闲连接数、活跃数据库连接数和活跃线程数。获取调用链数据具体步骤包括:
(1)请求到来生成一个全局TraceID,通过TraceID可以串联起整个调用链,一个TraceID代表一次请求。
(2)除了TraceID外,还需要SpanID用于记录调用父子关系,每个服务会记录,并透传ParentID和SpanID,通过他们可以组织一次完整调用链的父子关系。
(3)要查看某次完整的调用则只要根据TraceID查出所有调用记录,然后通过ParentID和SpanID组织起整个调用父子关系。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
在以上各实施例的基础上,进一步地,所述数据库连接池参数包括最小空闲连接数和最大空闲连接数。
具体来说,每个微服务实例中都设置有数据库连接池,数据库连接池用于分配、管理和释放数据库连接,通过设置数据库连接池的参数,即,设置数据库连接池的最小空闲连接数和最大空闲连接数,使得微服务实例可以在一定范围内重复使用现有的数据库连接,而不是再重新建立一个,降低数据库连接创建和释放频率,避免数据库连接风暴。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
在以上各实施例的基础上,进一步地,所述活跃数据库连接数包括数据库调用链上的每一微服务实例在预设时间段内的每一采集点的活跃数据库连接数。
具体来说,通过调用链数据可以知道一个数据库上连接的所有的上层微服务实例的运行情况。运行情况包括最小空闲连接数、最大空闲连接数、活跃数据库连接数和活跃线程数。
活跃数据库连接数包括数据库调用链上的每一微服务实例在预设时间段内的每一采集点的活跃数据库连接数。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
在以上各实施例的基础上,进一步地,所述连接池配置算法模型具体为:
其中,Xij为数据库调用链上的第i个微服务实例在预设时间段内的第j个采集点的活跃数据库连接数,m为微服务实例的个数,n为采集点的个数,min为最小空闲连接数,max为最大空闲连接数,a和b为预设的常数。
具体来说,a%表示时间段内活跃连接小于最小空闲连接数min的采集点个数占时间段内全部采集点个数的百分比。
b%表示时间段内活跃连接小于最小空闲连接数max的采集点个数占时间段内全部采集点个数的百分比。
参数a和b可以调整,a和b数值越大发生连接风暴的概率就越小,但是设置过大会造成资源浪费。
初次计算数据库连接池参数时,可以采集比较长时间段内的活跃数据库连接数来进行计算,比如1个月,能够有效避免正常情况下的连接风暴。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
在以上各实施例的基础上,进一步地,所述将所述数据库连接池参数配置到微服务实例中之后,还包括:
实时地获取数据库的性能数据;
将获取到的数据库的性能数据,输入至训练好的神经网络模型中,输出所述数据库的当前状态;
若判断获知所述当前状态为连接风暴,则将当前获取到的活跃数据库连接数,输入至所述连接池配置算法模型,输出新的数据库连接池参数;
将新的数据库连接池参数配置到每一微服务实例中。
具体来说,本发明实施例提供的数据库连接风暴的监控方法,不但能够根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。而且,还能够实时地监控数据库的性能数据,利用预设的神经网络模型判别是否发生了数据库连接风暴,在发生数据库连接风暴时,通过重新调整数据库连接池参数,能够在短时间内消除数据库连接风暴。
具体步骤包括:
将数据库连接池参数配置到微服务实例中之后,实时地获取数据库的性能数据,包括CPU使用率、TPS、创建连接数和销毁连接数。
将获取到的数据库的性能数据,输入至训练好的神经网络模型中,输出数据库的当前状态,数据库的状态,可以预先设置为三个等级,即,连接风暴、系统过载、系统正常。在利用神经网络模型对当前数据库的状态判别之前,需要根据标记好的训练样本数据,对神经网络模型进行训练。
若判断获知当前状态为连接风暴,则将当前获取到的活跃数据库连接数,输入至连接池配置算法模型,输出新的数据库连接池参数。
最后,将新的数据库连接池参数配置到每一微服务实例中。
初次计算数据库连接池参数时,可以采集比较长时间段内的活跃数据库连接数来进行计算,比如1个月,能够有效避免正常情况下的连接风暴。
出现连接风暴情况下,临时调整数据库连接池参数时,可以采集短期内的活跃数据库连接数来进行计算,比如5分钟内,这样可以有效消除短期内的连接风暴。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,利用神经网络模型对当前数据库的状态进行实时地监控,在数据库出现连接风暴时,能够迅速地调整数据库连接池参数,短时间内自动消除连接风暴。而且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
在以上各实施例的基础上,进一步地,所述神经网络模型为胶囊网络模型。
具体来说,胶囊网络是一种基于胶囊的新型神经网络,相对于普通的神经网络算法它只需要学习一小部分数据,就能达到最先进的效果。通过对数据库运行情况(通过性能数据来衡量)和调用链上微服务实例运行情况(通过调用链数据来衡量)及数据库状态进行训练进行学习,胶囊算法可以有效监测连接风暴,并且在监测到连接风暴后通知连接池参数算法模型进行临时参数调整,消除连接风暴。
所谓胶囊,就是一个向量,它可包含任意数量个值,每个值代表了当前需要识别的事物的一个特征。下层胶囊Ui代表一些低级特征(包括性能数据和调用链数据,例如,数据库CPU使用率上升、数据库连接数创建和销毁频率提升、活跃数据库连接数超出最大空闲连接数设置等),上层胶囊Vi代表一些高级特征(数据库状态,例如,连接风暴、系统过载、系统正常),每一个下层胶囊和每一个上层胶囊连接,并且有权重系数Wij(性能数据、调用链数据与数据库状态之间的关系)和耦合系数Cij,通过下层胶囊特征可以推断出上层胶囊特征Vj(当前数据库的状态)。
本发明实施例提供的数据库连接风暴的监控方法,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,利用神经网络模型对当前数据库的状态进行实时地监控,在数据库出现连接风暴时,能够迅速地调整数据库连接池参数,短时间内自动消除连接风暴。而且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
图2为本发明实施例提供的数据库连接风暴的监控装置示意图,如图2所示,本发明实施例提供一种数据库连接风暴的监控装置,用于执行上述任一实施例中所述的方法,具体包括计算模块201和配置模块202,其中:
计算模块201用于将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;配置模块202用于将所述数据库连接池参数配置到每一微服务实例中。
具体来说,首先,通过计算模块201将获取到的活跃数据库连接数输入至预设的连接池配置算法模型,输出数据库连接池参数。通过该连接池配置算法模型能够精准地计算出数据库连接池参数。
每个微服务实例中都设置有数据库连接池,数据库连接池用于分配、管理和释放数据库连接。
计算出数据库连接池参数之后,通过配置模块202将数据库连接池参数配置到每一微服务实例中,通过设置数据库连接池的参数,即,设置数据库连接池的最小空闲连接数和最大空闲连接数,使得微服务实例可以在一定范围内重复使用现有的数据库连接,而不是再重新建立一个,降低数据库连接创建和释放频率,避免数据库连接风暴。
本发明实施例提供一种数据库连接风暴的监控装置,用于执行上述任一实施例中所述的方法,通过本实施例提供的装置执行上述某一实施例中所述的方法的具体步骤与上述相应实施例相同,此处不再赘述。
本发明实施例提供的数据库连接风暴的监控装置,根据获取到的活跃数据库连接数,利用预设的连接池配置算法模型,计算出数据库连接池参数,并通过每个微服务实例中的数据库连接池实现降低数据库连接风暴发生的概率。并且,不需要人工参与,能水平扩展,同时控制多套微服务系统,有效的降低了工作量,提升工作效率。
图3为本发明实施例提供的电子设备的结构示意图,如图3所示,所述设备包括:处理器301、存储器302和总线303;
其中,处理器301和存储器302通过所述总线303完成相互间的通信;
处理器301用于调用存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;
将所述数据库连接池参数配置到每一微服务实例中。
本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;
将所述数据库连接池参数配置到每一微服务实例中。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;
将所述数据库连接池参数配置到每一微服务实例中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种数据库连接风暴的监控方法,其特征在于,包括:
将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;所述数据库连接池参数是基于活跃数据库连接数、微服务实例个数和采集点个数得到的,所述活跃数据库连接数包括数据库调用链上的每一微服务实例在预设时间段内的每一采集点的活跃数据库连接数;所述连接池配置算法模型具体为:
Xij为数据库调用链上的第i个微服务实例在预设时间段内的第j个采集点的活跃数据库连接数,m为微服务实例的个数,n为采集点的个数,min为最小空闲连接数,max为最大空闲连接数,a和b为预设的常数,a%表示时间段内活跃连接小于最小空闲连接数min的采集点个数占时间段内全部采集点个数的百分比,b%表示时间段内活跃连接小于最小空闲连接数max的采集点个数占时间段内全部采集点个数的百分比;
将所述数据库连接池参数配置到每一微服务实例中;
实时地获取数据库的性能数据;
将获取到的数据库的性能数据,输入至训练好的神经网络模型中,输出所述数据库的当前状态;
若判断获知所述当前状态为连接风暴,则将当前获取到的活跃数据库连接数,输入至所述连接池配置算法模型,输出新的数据库连接池参数;
将新的数据库连接池参数配置到每一微服务实例中。
2.根据权利要求1所述的方法,其特征在于,所述将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数之前,还包括:
通过在数据库和微服务实例中植入的监测探针获取所述活跃数据库连接数。
3.根据权利要求2所述的方法,其特征在于,所述数据库连接池参数包括最小空闲连接数和最大空闲连接数。
4.根据权利要求3所述的方法,其特征在于,所述神经网络模型为胶囊网络模型。
5.一种数据库连接风暴的监控装置,其特征在于,包括:
计算模块,用于将获取到的活跃数据库连接数,输入至预设的连接池配置算法模型,输出数据库连接池参数;所述数据库连接池参数是基于活跃数据库连接数、微服务实例个数和采集点个数得到的,所述活跃数据库连接数包括数据库调用链上的每一微服务实例在预设时间段内的每一采集点的活跃数据库连接数;所述连接池配置算法模型具体为:
Xij为数据库调用链上的第i个微服务实例在预设时间段内的第j个采集点的活跃数据库连接数,m为微服务实例的个数,n为采集点的个数,min为最小空闲连接数,max为最大空闲连接数,a和b为预设的常数,a%表示时间段内活跃连接小于最小空闲连接数min的采集点个数占时间段内全部采集点个数的百分比,b%表示时间段内活跃连接小于最小空闲连接数max的采集点个数占时间段内全部采集点个数的百分比;
第一配置模块,用于将所述数据库连接池参数配置到每一微服务实例中;
获取模块,用于实时地获取数据库的性能数据;
第一处理模块,用于将获取到的数据库的性能数据,输入至训练好的神经网络模型中,输出所述数据库的当前状态;
第二处理模块,用于若判断获知所述当前状态为连接风暴,则将当前获取到的活跃数据库连接数,输入至所述连接池配置算法模型,输出新的数据库连接池参数;
第二配置模块,用于将新的数据库连接池参数配置到每一微服务实例中。
6.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436406.9A CN111324644B (zh) | 2018-11-28 | 2018-11-28 | 大型微服务架构下的数据库连接风暴的监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436406.9A CN111324644B (zh) | 2018-11-28 | 2018-11-28 | 大型微服务架构下的数据库连接风暴的监控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324644A CN111324644A (zh) | 2020-06-23 |
CN111324644B true CN111324644B (zh) | 2023-10-27 |
Family
ID=71172189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811436406.9A Active CN111324644B (zh) | 2018-11-28 | 2018-11-28 | 大型微服务架构下的数据库连接风暴的监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324644B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491581A (zh) * | 2020-10-30 | 2021-03-12 | 中国人寿保险股份有限公司 | 一种服务性能监控管理方法及装置 |
CN112363855B (zh) * | 2020-11-13 | 2021-06-18 | 北京基调网络股份有限公司 | 调用链数据生成方法、拓扑生成方法及系统和计算机设备 |
CN112612834B (zh) * | 2020-12-23 | 2022-08-02 | 瀚高基础软件股份有限公司 | 数据库中间件及其实现客户端与服务器连接的方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581313A (zh) * | 2013-10-29 | 2014-02-12 | 华为技术有限公司 | 一种处理设备与集群服务器建立连接的方法及处理设备 |
CN103888279A (zh) * | 2012-12-20 | 2014-06-25 | 阿里巴巴集团控股有限公司 | 基于反馈控制循环的资源池动态管理的方法和系统 |
CN104038439A (zh) * | 2014-06-18 | 2014-09-10 | 中国工商银行股份有限公司 | 报文流量控制方法及系统 |
US9098565B1 (en) * | 2009-10-08 | 2015-08-04 | Cellco Partnership | In-house elegant JDBC connection pooling solution for message broker |
CN106021544A (zh) * | 2016-05-27 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 数据库分布式连接池管理方法和系统 |
CN106250500A (zh) * | 2016-07-29 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据库连接池的动态管理方法和系统 |
CN106302794A (zh) * | 2016-08-31 | 2017-01-04 | 东软集团股份有限公司 | 连接参数的动态设置方法和装置 |
CN108075915A (zh) * | 2016-11-16 | 2018-05-25 | 西北工业大学 | 一种基于自适应控制策略的rdma通信连接池管理方法 |
CN108388503A (zh) * | 2018-02-13 | 2018-08-10 | 中体彩科技发展有限公司 | 数据库性能监控方法、系统、设备及计算机可读存储介质 |
CN108549592A (zh) * | 2018-03-19 | 2018-09-18 | 联动优势电子商务有限公司 | 一种数据库连接池的监控方法及监控设备、应用服务器 |
CN108880887A (zh) * | 2018-06-20 | 2018-11-23 | 山东大学 | 基于微服务的陪护机器人云服务系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438144B2 (en) * | 2010-08-27 | 2013-05-07 | Oracle International Corporation | Transactionally consistent database replay in an environment with connection pooling |
US10909211B2 (en) * | 2016-08-12 | 2021-02-02 | Oracle International Corporation | System and method for control of maximum connections in a connection pool environment |
-
2018
- 2018-11-28 CN CN201811436406.9A patent/CN111324644B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098565B1 (en) * | 2009-10-08 | 2015-08-04 | Cellco Partnership | In-house elegant JDBC connection pooling solution for message broker |
CN103888279A (zh) * | 2012-12-20 | 2014-06-25 | 阿里巴巴集团控股有限公司 | 基于反馈控制循环的资源池动态管理的方法和系统 |
CN103581313A (zh) * | 2013-10-29 | 2014-02-12 | 华为技术有限公司 | 一种处理设备与集群服务器建立连接的方法及处理设备 |
CN104038439A (zh) * | 2014-06-18 | 2014-09-10 | 中国工商银行股份有限公司 | 报文流量控制方法及系统 |
CN106021544A (zh) * | 2016-05-27 | 2016-10-12 | 北京京东尚科信息技术有限公司 | 数据库分布式连接池管理方法和系统 |
CN106250500A (zh) * | 2016-07-29 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据库连接池的动态管理方法和系统 |
CN106302794A (zh) * | 2016-08-31 | 2017-01-04 | 东软集团股份有限公司 | 连接参数的动态设置方法和装置 |
CN108075915A (zh) * | 2016-11-16 | 2018-05-25 | 西北工业大学 | 一种基于自适应控制策略的rdma通信连接池管理方法 |
CN108388503A (zh) * | 2018-02-13 | 2018-08-10 | 中体彩科技发展有限公司 | 数据库性能监控方法、系统、设备及计算机可读存储介质 |
CN108549592A (zh) * | 2018-03-19 | 2018-09-18 | 联动优势电子商务有限公司 | 一种数据库连接池的监控方法及监控设备、应用服务器 |
CN108880887A (zh) * | 2018-06-20 | 2018-11-23 | 山东大学 | 基于微服务的陪护机器人云服务系统及方法 |
Non-Patent Citations (2)
Title |
---|
一种动态自适应的图片服务器数据库连接方案;牛毅;刘峰;徐川;;中国安防(06);138-140 * |
大数据背景下动态调整参数的数据库连接池性能优化研究;赵克全;;淮北职业技术学院学报(01);86-90 * |
Also Published As
Publication number | Publication date |
---|---|
CN111324644A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324644B (zh) | 大型微服务架构下的数据库连接风暴的监控方法及装置 | |
CN109039833B (zh) | 一种监控带宽状态的方法和装置 | |
CN102880503B (zh) | 数据分析系统及数据分析方法 | |
CN111369094B (zh) | 告警派单方法、装置、系统及计算机可读存储介质 | |
CN105302692B (zh) | 基于内外参数的数据库连接池监控和管理的方法和装置 | |
CN103761309A (zh) | 一种运营数据处理方法及系统 | |
WO2022151668A1 (zh) | 数据任务调度方法、装置、存储介质及调度工具 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN111160873A (zh) | 基于分布式架构的跑批处理装置及方法 | |
CN110430068A (zh) | 一种特征工程编排方法及装置 | |
CN111124830A (zh) | 一种微服务的监控方法及装置 | |
CN112346872B (zh) | 基于服务调用链路的云计算扩容方法及装置 | |
CN108108445A (zh) | 一种智能数据处理方法和系统 | |
CN110011843A (zh) | 告警信息处理方法、电子设备和存储介质 | |
CN111930493A (zh) | 集群中NodeManager状态管理方法、装置及计算设备 | |
CN114202206B (zh) | 系统异常根因分析方法及装置 | |
CN111669295A (zh) | 业务管理方法和装置 | |
CN110855481B (zh) | 数据采集系统及方法 | |
CN116708217A (zh) | 一种数据中心设备监控方法、系统、电子设备及存储介质 | |
CN106254452A (zh) | 云平台下的医疗大数据访问方法 | |
CN113656239A (zh) | 针对中间件的监控方法、装置及计算机程序产品 | |
CN111628903A (zh) | 交易系统运行状态的监控方法及监控系统 | |
CN117076195A (zh) | 参数的调整方法、装置、存储介质及电子装置 | |
CN116719623A (zh) | 作业调度方法、作业结果处理方法及其装置 | |
CN116260703A (zh) | 分布式消息服务节点cpu性能故障自恢复方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |