CN112181652A - 一种调整连接池容量的方法、装置、存储介质和电子设备 - Google Patents
一种调整连接池容量的方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN112181652A CN112181652A CN202011028636.9A CN202011028636A CN112181652A CN 112181652 A CN112181652 A CN 112181652A CN 202011028636 A CN202011028636 A CN 202011028636A CN 112181652 A CN112181652 A CN 112181652A
- Authority
- CN
- China
- Prior art keywords
- connection
- adjustment value
- value
- pool
- connection pool
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
- G06F9/505—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 considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种调整连接池容量的方法、装置、存储介质和电子设备,该方法包括:检测连接池的当前连接值,其中,当前连接值用于表示连接池中当前连接的个数;在确定当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值;向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数。借助于上述技术方案,本申请实施例能够根据连接池中的当前连接情况来动态调整连接池的最大连接数,进而能够弹性调整对外的服务能力。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种调整连接池容量的方法、装置、存储介质和电子设备。
背景技术
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程或进程使用。
目前,在客户端请求连接池中的空闲连接的情况下,可直接从连接池中获取空闲连接,以降低申请工作产生的性能影响,并且当连接不再使用时,客户端会将其重新放回连接池,以便于后续客户端可复用连接池中的空闲连接。
但是,由于连接池的最大连接数都是一个固定值,即每个连接池的容量大小都是固定的,会导致连接池中的连接数达到配置的上限时,服务器无法再接入客户端连接,从而无法再提供服务。
发明内容
本申请实施例的目的在于提供一种调整连接池容量的方法、装置、存储介质和电子设备,以解决现有技术中由于连接池的最大连接数都是一个固定值导致的连接池中的连接数达到配置的上限时,服务器无法再提供服务的问题。
第一方面,本申请实施例提供了一种调整连接池容量的方法,该方法包括:检测连接池的当前连接值,其中,当前连接值用于表示连接池中当前连接的个数;在确定当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值;向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数。
因此,本申请实施例通过在当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值,以及向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数,从而能够根据连接池中的当前连接情况来动态调整连接池的最大连接数(或者说连接池的容量大小),进而能够弹性调整对外的服务能力。
在一个可能的实施例中,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值,包括通过第一公式计算连接调整值,第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间。
因此,本申请实施例可通过上述第一公式来精准地确定连接调整值。
第二方面,本申请实施例提供了另一种调整连接池容量的方法,该方法包括:接收负载设备发送的连接调整值,其中,连接调整值是在确定连接池的当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间确定的,当前连接值用于表示连接池中当前连接的个数;根据连接调整值,调整连接池的最大连接数。
在一个可能的实施例中,连接调整值是根据第一公式计算得到的,第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间。
在一个可能的实施例中,根据连接调整值,调整连接池的最大连接数,包括:在处于强制调整模式的情况下,根据连接调整值,强制调整连接池的最大连接数;或者,在处于动态调整模式的情况下,获取资源使用情况,并根据资源使用情况,生成动态连接调整值,以及根据动态连接调整值,动态调整连接池的最大连接数,其中,动态连接调整值小于等于连接调整值。
因此,本申请实施例中的服务器可配置有强制调整模式和动态调整模式,从而能够灵活配置调整方式,进而满足了用户的不同需求。
第三方面,本申请实施例提供了一种调整连接池容量的装置,该装置包括:检测模块,用于检测连接池的当前连接值,其中,当前连接值用于表示连接池中当前连接的个数;确定模块,用于在确定当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值;发送模块,用于向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数。
在一个可能的实施例中,确定模块,具体用于通过第一公式计算连接调整值,第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间。
第四方面,本申请实施例提供了另一种调整连接池容量的装置,该装置包括:接收模块,用于接收负载设备发送的连接调整值,其中,连接调整值是在确定连接池的当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间确定的,当前连接值用于表示连接池中当前连接的个数;调整模块,用于根据连接调整值,调整连接池的最大连接数。
在一个可能的实施例中,连接调整值是根据第一公式计算得到的,第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间。
在一个可能的实施例中,调整模块,具体用于:在处于强制调整模式的情况下,根据连接调整值,强制调整连接池的最大连接数;或者,在处于动态调整模式的情况下,获取资源使用情况,并根据资源使用情况,生成动态连接调整值,以及根据动态连接调整值,动态调整连接池的最大连接数,其中,动态连接调整值小于等于连接调整值。
第五方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第六方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第二方面或第二方面的任一可选的实现方式所述的方法。
第七方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第八方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第二方面或第二方面的任一可选的实现方式所述的方法。
第九方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
第十方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第二方面或第二方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种应用场景的示意图;
图2示出了本申请实施例提供的一种调整连接池容量的方法的流程图;
图3示出了本申请实施例提供的一种调整连接池容量的装置的结构框图;
图4示出了本申请实施例提供的另一种调整连接池容量的装置的结构框图;
图5为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在计算机网络中,当两个网络节点通信时,底层需要使用IP地址。目前,使用的IP地址主要为网络协议版本4(Internet Protocol version 4,IPv4),其是一个32位的二进制数。由于其可读性较差,所以通常将点分十进制的IP地址转换为二进制,例如,转换后的IP地址可以为121.22.240.190。
但是,即便如此,这串数字也是很难记忆的。从而,出现了域名系统(Domain NameSystem)技术,以简化人们对其的记忆。
此外,在客户端经过DNS解析阶段后,客户端与服务器建立连接时,服务器会在内存中为客户端申请至少一个连接,但此申请过程的并发量比较大时,服务器的性能会显著下降。
为此,服务器可提前申请多个连接以形成连接池,从而当客户端请求过来时,可直接从连接池中获取空闲连接,以降低申请工作产生的性能影响,并且当某个连接不再被客户端使用时,可将该连接重新放回连接池,以便于后续客户端可复用连接池中的空闲连接。
但是,在客户端经过DNS解析后,客户端与服务器建立连接时,由于服务器中连接池的容量大小是固定的,并不能根据连接池中的连接情况动态调整连接池的容量,从而导致连接池中的连接数达到配置的上限时,服务器无法再接入客户端连接,从而服务器无法再提供服务。
基于此,本申请实施例巧妙地提出了一种调整连接池容量的方案,通过负载设备检测连接池的当前连接值,当前连接值用于表示连接池中当前连接的个数,以及负载设备在当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值,最后负载设备向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数。
因此,本申请实施例通过在当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值,以及向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数,从而能够根据连接池中的当前连接情况来动态调整连接池的最大连接数(或者说连接池的容量大小),进而能够弹性调整对外的服务能力。
为了便于理解本申请实施例,首先在此对本申请实施例中的一些术语进行解释如下:
“空闲连接”:它指当前没有分配出去的连接。
“域名系统”:它是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
例如,在客户端访问服务器的情况下,可先通过查询域名系统将域名“www.test.com”翻译为IP地址“121.22.240.199”,然后可使用此IP地址与服务器进行通信。
请参见图1,图1示出了本申请实施例提供的一种应用场景的示意图。如图1所示的应用场景包括客户端、负载设备和服务器。
应理解,客户端可以是手机,也可以是平板电脑,也可以是虚拟机,也可以是台式计算机等。也就是说,客户端的具体设备可以根据实际需求来进行设置,本申请实施例并不局限于此。
还应理解,负载设备可以为路由器,也可以为交换机,也可以为防火墙等。也就是说,负载设备的具体设备也可以根据实际需求来进行设置,本申请实施例并不局限于此。
还应理解,服务器可以是单个服务器,也可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器可以是分布式系统)等。也就是说,服务器的具体设备也可以根据实际需求来进行设置,本申请实施例并不局限于此。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
在本申请实施例中,客户端向负载设备发送域名解析请求。对应地,负载设备接收客户端发送的域名解析请求。随后,负载设备可根据域名解析请求,确定与域名解析请求对应的IP地址,并向客户端发送IP地址。对应地,客户端接收负载设备发送的IP地址。随后,客户端利用IP地址,与负载设备建立连接。
这里需要说明的是,虽然上面是以一个客户端获取连接的过程为例来进行描述的,但本领域的技术人员应当理解,在客户端的数量为多个的情况下,每个客户端获取连接的过程均与上述过程类似,后续不再一一描述。
此外,在多个客户端获取连接的过程中,负载设备可实时检测连接池的当前连接值。其中,当前连接值用于表示连接池中当前连接的个数。以及,负载设备在确定当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值。以及,负载设备向服务器发送连接调整值。对应地,服务器接收负载设备发送的连接调整值。
最后,服务器可根据连接调整值,调整连接池的最大连接数,从而可对连接池的容量进行动态调整。
需要说明的是,本申请实施例提供的调整连接池容量的方案还可以进一步拓展到其他合适的应用场景中,而不限于图1所示的应用场景。虽然图1中示出了具体数量的客户端和服务器,但本领域的技术人员应当理解,在实际应用的过程中,该应用场景100可包括与更多的客户端或者服务器。
请参见图2,图2示出了本申请实施例提供的一种调整连接池容量的方法的流程图,如图2所示的方法包括:
步骤S210,负载设备检测连接池的当前连接值。其中,当前连接值用于表示连接池中当前连接的个数。
具体地,第一客户端可向负载设备发送域名解析请求。对应地,负载设备可接收第一客户端发送的域名解析请求。
随后,服务器可根据域名解析请求,确定与域名解析请求对应的至少一个IP地址,并向第一客户端发送携带有至少一个IP地址的反馈消息。对应地,第一客户端可接收负载设备发送的反馈消息。
随后,第一客户端可使用至少一个IP地址中的目标IP地址和负载设备建立连接。随后,负载设备可与对应的服务器建立连接。
应理解,目标IP地址的具体IP地址可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,在反馈消息携带有多个IP地址的情况下,目标IP地址可以为多个IP地址中的第一个IP地址。
以及,在第一客户端和对应的服务器建立连接的情况下,负载设备可对连接池的当前连接值进行“+1”操作。
应理解,虽然上面是以第一客户端为例来进行描述的,但本领域的技术人员应当理解,其他客户端也可按照上述方式与对应的服务器进行连接,并且负载设备可持续检测连接池的当前连接值,本申请实施例并不局限于此。
步骤S220,负载设备在确定当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值。
应理解,预设连接阈值的具体值和确定方式等均可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,可通过第二公式来计算预设连接阈值,第二公式为:
M=N*P
其中,M为预设连接阈值,N为连接池中的连接数量(或者未调整前连接池的最大连接数),P为预设百分比。
还应理解,预设百分比的具体值可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,预设百分比可以为95%。
还应理解,连接调整值可以表示增加连接个数的具体值(例如,在连接池的默认最大连接数为100个的情况下,连接调整值可表示新增60个连接),也可以表示增加到目标连接个数(例如,在连接池的默认最大连接数为100个的情况下,连接调整值可表示由100个连接增加到160个连接)。
还应理解,每秒新建连接数的获取方式和每秒释放连接数的获取方式均可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,对于负载设备来说,由于每秒新建连接数为负载设备的性能指标,则负载设备可通过查询性能指标信息来获取每秒新建连接数。
再例如,每秒释放连接数可以为期望连接池稳定的时间内的平均释放连接数(例如,在期望连接池稳定的时间为30秒且一共释放了120个连接的情况下,每秒释放连接数可以为4个)。
还应理解,负载设备根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值的具体计算公式可根据实际需求来进行设置,本申请实施例并不局限于此。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体地,在确定当前连接值大于等于预设连接阈值的情况下,负载设备可根据第一公式来计算连接调整值,该第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间(或者T为期望连接池调整后可不需要再调整的持续时间)。
应理解,期望连接池稳定的时间的具体时间也可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,T为30秒。
步骤S230,负载设备向服务器发送连接调整值。对应地,服务器接收负载设备发送的连接调整值。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
可选地,负载设备可通过套接字Socket等预设方式直接向服务器发送携带有连接调整值的消息。
可选地,负载设备可通过套接字Socket等预设方式向中间设备发送携带有连接调整值的消息,以及中间设备可存储该消息。后续,服务器可通过查询中间设备的方式来获取连接调整值。
步骤S240,服务器根据连接调整值,调整连接池的最大连接数。
应理解,服务器根据连接调整值,调整连接池的最大连接数的具体过程可根据实际需求来进行设置,本申请实施例并不局限于此。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体的,在服务器接收到携带有连接调整值的消息后,服务器可查询自身的配置参数,并根据连接调制值和配置参数来调整连接池的最大连接数。
应理解,配置参数所包含的信息可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,配置参数可包括服务器所处的模式、或者是否在连接数低于目标值时进行修改等。
其中,服务器所处的模式可包括强制调整模式和动态调整模式。强制调整模式是在资源足够的情况下服务器会一次性增加到最大连接数;动态调整模式是指服务器会通过多次增加连接的方式进行增加,直至增加到最大连接数则停止。
这里需要说明的是,对于动态调整模式来说,还可配置阈值百分比,在需增加的连接数和连接池的当前最大连接数的比值大于等于阈值百分比的情况下,则可对连接池的最大连接数进行调整;在需增加的连接数和连接池的当前最大连接数的比值小于阈值百分比的情况下,则等待需增加的连接数和连接池的当前最大连接数的比值大于等于阈值百分比后再对连接池的最大连接数进行调整。
还应理解,根据连接调制值和配置参数来调整连接池的最大连接数的具体过程可根据需求来进行描述。
可选地,服务器在处于强制调整模式的情况下,根据连接调整值,强制调整连接池的最大连接数。
例如,在连接调整值表示增加到160的情况下,服务器在确定资源足够的情况下,则可强制一次性将连接池的连接数由100条调整到160条。
可选地,服务器在处于动态调整模式的情况下,获取资源使用情况,并根据资源使用情况,生成动态连接调整值,以及根据动态连接调整值,动态调整连接池的最大连接数。其中,动态连接调整值小于等于连接调整值。
例如,在连接调整值表示增加到160的情况下,服务器可根据当前资源使用情况,生成用于表示增加40条的第一动态连接调整值。随后,服务器可将连接池的连接数由100条调整到140条。随后,服务器可根据当前资源使用情况,生成用于表示增加20条的第二动态连接调整值。随后,服务器可将连接池的连接数由140条调整到160条。
因此,本申请实施例通过在当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值,以及向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数,从而能够根据连接池中的当前连接情况来动态调整连接池的最大连接数,进而能够弹性调整对外的服务能力。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体地,服务器设置有三个连接池,其中,第一连接池为与第一运营商相关的连接池,且第一连接池默认的最大连接数为5000个;第二连接池为与第二运营商相关的连接池,且第二连接池默认的最大连接数为4000个;第三连接池为与第三运营商相关的连接池,且第三连接池默认的最大连接数为3000个。
此外,客户端向负载设备发送携带有域名“www.test.com”的域名解析请求。对应地,负载设备接收客户端发送的域名解析请求。
随后,负载设备可根据域名解析请求,确定与域名解析请求对应的IP地址为“121.22.240.199”,并向客户端发送IP地址。对应地,客户端接收负载设备发送的IP地址。随后,客户端利用IP地址,与负载设备建立连接。随后,负载设备可与对应的服务器建立连接。
以及,服务器确定IP地址对应的连接池为第一连接,则服务器可对第一连接池的当前连接值进行“+1”操作。
另外,在多个客户端和多个服务器建立连接后,服务器在确定第一连接池的当前连接值大于预设连接阈值的情况下,生成用于表示新增500个连接的连接调整值,并向对应的服务器发送连接调制值,以便于服务器连接调制值,将第一连接池的最大连接数调整到5500个。
应理解,上述调整连接池容量的方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,修改或变形之后的内容也在本申请保护范围内。
请参见图3,图3示出了本申请实施例提供的一种调整连接池容量的装置300的结构框图,应理解,该装置300与上述图2方法实施例中的负载设备侧对应,能够执行上述方法实施例涉及负载设备的各个步骤,该装置300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置300包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置300的操作系统(operating system,OS)中的软件功能模块。具体地,该装置300包括:
检测模块310,用于检测连接池的当前连接值,其中,当前连接值用于表示连接池中当前连接的个数;确定模块320,用于在确定当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间,确定连接池的连接调整值;发送模块330,用于向服务器发送连接调整值,以便于服务器根据连接调整值,调整连接池的最大连接数。
在一个可能的实施例中,确定模块320,具体用于通过第一公式计算连接调整值,第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参见图4,图4示出了本申请实施例提供的另一种调整连接池容量的装置400的结构框图,应理解,该装置400与上述图2方法实施例中服务器侧对应,能够执行上述方法实施例涉及的各个步骤,该装置400具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置400包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置400的操作系统(operating system,OS)中的软件功能模块。具体地,该装置400包括:
接收模块410,用于接收负载设备发送的连接调整值,其中,连接调整值是在确定连接池的当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望连接池稳定的时间确定的,当前连接值用于表示连接池中当前连接的个数;调整模块420,用于根据连接调整值,调整连接池的最大连接数。
在一个可能的实施例中,连接调整值是根据第一公式计算得到的,第一公式为:
L1=L2+(L3-L4)*T
其中,L1为连接调整值,L2为当前连接值,L3为每秒新建连接数,L4为每秒释放连接数,T为期望连接池稳定的时间。
在一个可能的实施例中,调整模块420,具体用于:在处于强制调整模式的情况下,根据连接调整值,强制调整连接池的最大连接数;或者,在处于动态调整模式的情况下,获取资源使用情况,并根据资源使用情况,生成动态连接调整值,以及根据动态连接调整值,动态调整连接池的最大连接数,其中,动态连接调整值小于等于连接调整值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参见图5,图5为本申请实施例提供的一种电子设备500的结构框图,如图5所示。电子设备500可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中的通信接口520用于与其他设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。上述的处理器510可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
存储器530可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。例如,存储器530中存储有计算机可读取指令且电子设备可设置在服务器中,当所述计算机可读取指令由所述处理器510执行时,电子设备500可以执行上述图2实施例涉及服务器侧的各个步骤。
电子设备500还可以包括存储控制器、输入输出单元、音频单元、显示单元。
所述存储器530、存储控制器、处理器510、外设接口、输入输出单元、音频单元、显示单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如电子设备600包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元在所述电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
可以理解,图5所示的结构仅为示意,所述电子设备500还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种调整连接池容量的方法,其特征在于,包括:
检测所述连接池的当前连接值,其中,所述当前连接值用于表示所述连接池中当前连接的个数;
在确定所述当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望所述连接池稳定的时间,确定所述连接池的连接调整值;
向服务器发送所述连接调整值,以便于所述服务器根据所述连接调整值,调整所述连接池的最大连接数。
2.根据权利要求1所述的方法,其特征在于,所述根据每秒新建连接数、每秒释放连接数和期望所述连接池稳定的时间,确定所述连接池的连接调整值,包括通过第一公式计算所述连接调整值,所述第一公式为:
L1=L2+(L3-L4)*T
其中,L1为所述连接调整值,L2为所述当前连接值,L3为所述每秒新建连接数,L4为所述每秒释放连接数,T为所述期望所述连接池稳定的时间。
3.一种调整连接池容量的方法,其特征在于,包括:
接收负载设备发送的连接调整值,其中,所述连接调整值是在确定所述连接池的当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望所述连接池稳定的时间确定的,所述当前连接值用于表示所述连接池中当前连接的个数;
根据所述连接调整值,调整所述连接池的最大连接数。
4.根据权利要求3所述的方法,其特征在于,所述连接调整值是根据第一公式计算得到的,所述第一公式为:
L1=L2+(L3-L4)*T
其中,L1为所述连接调整值,L2为所述当前连接值,L3为所述每秒新建连接数,L4为所述每秒释放连接数,T为所述期望所述连接池稳定的时间。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述连接调整值,调整所述连接池的最大连接数,包括:
在处于强制调整模式的情况下,根据所述连接调整值,强制调整所述连接池的最大连接数;或者,
在处于动态调整模式的情况下,获取资源使用情况,并根据所述资源使用情况,生成动态连接调整值,以及根据所述动态连接调整值,动态调整所述连接池的最大连接数,其中,所述动态连接调整值小于等于所述连接调整值。
6.一种调整连接池容量的装置,其特征在于,包括:
检测模块,用于检测所述连接池的当前连接值,其中,所述当前连接值用于表示所述连接池中当前连接的个数;
确定模块,用于在确定所述当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望所述连接池稳定的时间,确定所述连接池的连接调整值;
发送模块,用于向服务器发送所述连接调整值,以便于所述服务器根据所述连接调整值,调整所述连接池的最大连接数。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于通过第一公式计算所述连接调整值,所述第一公式为:
L1=L2+(L3-L4)*T
其中,L1为所述连接调整值,L2为所述当前连接值,L3为所述每秒新建连接数,L4为所述每秒释放连接数,T为所述期望所述连接池稳定的时间。
8.一种调整连接池容量的装置,其特征在于,包括:
接收模块,用于接收负载设备发送的连接调整值,其中,所述连接调整值是在确定所述连接池的当前连接值大于等于预设连接阈值的情况下,根据每秒新建连接数、每秒释放连接数和期望所述连接池稳定的时间确定的,所述当前连接值用于表示所述连接池中当前连接的个数;
调整模块,用于根据所述连接调整值,调整所述连接池的最大连接数。
9.根据权利要求8所述的装置,其特征在于,所述连接调整值是根据第一公式计算得到的,所述第一公式为:
L1=L2+(L3-L4)*T
其中,L1为所述连接调整值,L2为所述当前连接值,L3为所述每秒新建连接数,L4为所述每秒释放连接数,T为所述期望所述连接池稳定的时间。
10.根据权利要求8或9所述的装置,其特征在于,所述调整模块,具体用于:在处于强制调整模式的情况下,根据所述连接调整值,强制调整所述连接池的最大连接数;或者,在处于动态调整模式的情况下,获取资源使用情况,并根据所述资源使用情况,生成动态连接调整值,以及根据所述动态连接调整值,动态调整所述连接池的最大连接数,其中,所述动态连接调整值小于等于所述连接调整值。
11.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-5任一所述的调整连接池容量的方法。
12.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-5任一所述的调整连接池容量的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011028636.9A CN112181652B (zh) | 2020-09-25 | 2020-09-25 | 一种调整连接池容量的方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011028636.9A CN112181652B (zh) | 2020-09-25 | 2020-09-25 | 一种调整连接池容量的方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181652A true CN112181652A (zh) | 2021-01-05 |
CN112181652B CN112181652B (zh) | 2023-11-28 |
Family
ID=73943629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011028636.9A Active CN112181652B (zh) | 2020-09-25 | 2020-09-25 | 一种调整连接池容量的方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181652B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791909A (zh) * | 2021-09-18 | 2021-12-14 | 平安普惠企业管理有限公司 | 服务器容量调整方法、装置、计算机设备及存储介质 |
CN115103005A (zh) * | 2022-06-14 | 2022-09-23 | 北京京东乾石科技有限公司 | 请求响应方法、装置、电子设备及存储介质 |
US11799941B2 (en) | 2021-09-07 | 2023-10-24 | Red Hat, Inc. | Handling connection pool sizing with heterogeneous concurrency |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594728A (zh) * | 2012-02-09 | 2012-07-18 | 苏州阔地网络科技有限公司 | 一种分布式即时通讯方法及系统 |
CN109800261A (zh) * | 2018-12-15 | 2019-05-24 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN111147282A (zh) * | 2019-12-05 | 2020-05-12 | 中国建设银行股份有限公司 | 自动维护drcp连接池的装置、方法及存储介质 |
CN111177203A (zh) * | 2019-12-18 | 2020-05-19 | 中国平安财产保险股份有限公司 | 动态调节数据库连接池大小的方法、服务器及存储介质 |
-
2020
- 2020-09-25 CN CN202011028636.9A patent/CN112181652B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594728A (zh) * | 2012-02-09 | 2012-07-18 | 苏州阔地网络科技有限公司 | 一种分布式即时通讯方法及系统 |
CN109800261A (zh) * | 2018-12-15 | 2019-05-24 | 平安科技(深圳)有限公司 | 双数据库连接池的动态控制方法、装置及相关设备 |
CN111147282A (zh) * | 2019-12-05 | 2020-05-12 | 中国建设银行股份有限公司 | 自动维护drcp连接池的装置、方法及存储介质 |
CN111177203A (zh) * | 2019-12-18 | 2020-05-19 | 中国平安财产保险股份有限公司 | 动态调节数据库连接池大小的方法、服务器及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11799941B2 (en) | 2021-09-07 | 2023-10-24 | Red Hat, Inc. | Handling connection pool sizing with heterogeneous concurrency |
CN113791909A (zh) * | 2021-09-18 | 2021-12-14 | 平安普惠企业管理有限公司 | 服务器容量调整方法、装置、计算机设备及存储介质 |
CN113791909B (zh) * | 2021-09-18 | 2023-10-03 | 深圳市华智世纪科技有限公司 | 服务器容量调整方法、装置、计算机设备及存储介质 |
CN115103005A (zh) * | 2022-06-14 | 2022-09-23 | 北京京东乾石科技有限公司 | 请求响应方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112181652B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181652B (zh) | 一种调整连接池容量的方法、装置、存储介质和电子设备 | |
US11394625B2 (en) | Service level agreement based storage access | |
CN107592237B (zh) | 一种混合云的资源监控方法及系统 | |
CN108369679B (zh) | 用于路由按需服务的资源划分 | |
WO2014063658A1 (zh) | 一种内容同步的方法和装置 | |
CN111343048B (zh) | 压力测试方法及装置、计算机装置及存储介质 | |
CN108650519A (zh) | 基于区块链的发布信息的方法及装置 | |
CN113407286B (zh) | 一种服务器远程管理方法及装置 | |
CN105024913B (zh) | 进行即时通讯会话的方法、装置及系统 | |
CN112437167B (zh) | 一种创建传输通道的方法、装置、存储介质和电子设备 | |
CN110795343B (zh) | 测试系统、测试方法和计算设备 | |
WO2017036332A1 (zh) | 一种基于分布式系统的灰度发布方法、客户端及平台 | |
CN112615784B (zh) | 一种转发报文的方法、装置、存储介质和电子设备 | |
CN112333289A (zh) | 反向代理访问方法、装置、电子设备及存储介质 | |
CN111506547A (zh) | 一种文件夹挂载方法、装置、设备、介质 | |
CN114143000A (zh) | 基于不经意传输协议与秘密分享的匿踪查询方法及装置 | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
JP2014090301A (ja) | 情報処理装置及びプログラム | |
CN107918617B (zh) | 数据查询方法和装置 | |
CN109067570B (zh) | 一种服务器信息展示方法、装置以及服务器 | |
CN109324914B (zh) | 服务调用方法、服务调用装置及中心服务器 | |
US20190124162A1 (en) | Automatic server cluster discovery | |
CN114285839A (zh) | 一种文件传输方法、装置、计算机存储介质和电子设备 | |
CN110401686B (zh) | Whois查询方法、装置、设备及其存储介质 | |
CN111771191A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |