CN114490030A - 自适应动态redis连接池的实现方法及装置 - Google Patents
自适应动态redis连接池的实现方法及装置 Download PDFInfo
- Publication number
- CN114490030A CN114490030A CN202111601679.6A CN202111601679A CN114490030A CN 114490030 A CN114490030 A CN 114490030A CN 202111601679 A CN202111601679 A CN 202111601679A CN 114490030 A CN114490030 A CN 114490030A
- Authority
- CN
- China
- Prior art keywords
- connection
- connection pool
- pool
- maximum
- connections
- 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
Links
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
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及信息处理技术领域,特别涉及一种自适应动态redis连接池的实现方法及装置,其中,方法包括:获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数;如果最新连接池最大连接数大于redis客户端的当前连接池最大连接数,则修改当前连接池最大连接数为最新连接池最大连接数,并根据并发连接数计算redis客户端的最新连接池最小连接数;如果最新连接池最小连接数大于当前连接池最小连接数,则修改当前连接池最小连接数为最新连接池最小连接数。由此,解决了相关技术中通过静态预设redis连接池的数量无法满足动态连接需求,增加人工运维工作量,降低应用运行的稳定性等问题。
Description
技术领域
本申请涉及信息处理技术领域,特别涉及一种自适应动态redis连接池的实现方法及装置。
背景技术
redis连接池的配置一般是通过压力测试模拟一定并发用户数的具体业务场景,并调整参数选择最佳连接池配置,即通过静态预设redis连接池的数量满足redis连接需求。
然而,由于实际使用时连接需求数量为动态需求数量,如果需求数量过小时,则容易导致连接资源浪费,如果需求数量过大时,无法满足连接需求,需要人工增加连接数量,增加人工运维工作量,降低应用运行的稳定性。
发明内容
本申请提供一种自适应动态redis连接池的实现方法、装置、电子设备及存储介质,以解决相关技术中通过静态预设redis连接池的数量无法满足动态连接需求,容易导致连接资源浪费或连接资源不足,增加人工运维工作量,降低应用运行的稳定性等问题。
本申请第一方面实施例提供一种自适应动态redis连接池的实现方法,包括以下步骤:获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数;如果所述最新连接池最大连接数大于所述redis客户端的当前连接池最大连接数,则修改所述当前连接池最大连接数为所述最新连接池最大连接数,并根据并发连接数计算所述redis客户端的最新连接池最小连接数;如果所述最新连接池最小连接数大于当前连接池最小连接数,则修改所述当前连接池最小连接数为所述最新连接池最小连接数。
可选地,其中,所述新增连接数的计算公式为:新增连接数=(等待请求总数-连接池空闲连接数)/单位时间处理请求数;所述最新连接池最大连接数的计算公式为:最新连接池最大连接数=实际所有连接数+新增连接数。
进一步地,还包括:每隔预设时长,将所述当前连接池最小连接数和所述当前连接池最大连接数存储于预设存储终端。
进一步地,还包括:判断所述redis客户端的单位时间内连接数是否小于当前连接池最大连接数;如果所述单位时间内连接数小于所述当前连接池最大连接数,则根据基于第一时间维度和至少一个第一环境因素以第一预设缩减比例缩减所述当前连接池最大连接数。
进一步地,还包括:判断所述单位时间内连接数是否小于当前连接池最小连接数;如果所述单位时间内连接数小于所述当前连接池最小连接数,则根据基于第二时间维度和至少一个第二环境因素以第二预设缩减比例缩减所述当前连接池最小连接数。
本申请第二方面实施例提供一种自适应动态redis连接池的实现装置,包括:获取模块,用于获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数;第一扩容模块,用于在所述最新连接池最大连接数大于所述redis客户端的当前连接池最大连接数时,修改所述当前连接池最大连接数为所述最新连接池最大连接数,并根据并发连接数计算所述redis客户端的最新连接池最小连接数;第二扩容模块,用于在所述最新连接池最小连接数大于当前连接池最小连接数时,修改所述当前连接池最小连接数为所述最新连接池最小连接数。
可选地,所述新增连接数的计算公式为:新增连接数=(等待请求总数-连接池空闲连接数)/单位时间处理请求数;所述最新连接池最大连接数的计算公式为:最新连接池最大连接数=实际所有连接数+新增连接数。
进一步地,还包括:存储模块,用于每隔预设时长,将所述当前连接池最小连接数和所述当前连接池最大连接数存储于预设存储终端;第一缩容模块,用于判断所述redis客户端的单位时间内连接数是否小于当前连接池最大连接数;如果所述单位时间内连接数小于所述当前连接池最大连接数,则根据基于第一时间维度和至少一个第一环境因素以第一预设缩减比例缩减所述当前连接池最大连接数;第二缩容模块,用于判断所述单位时间内连接数是否小于当前连接池最小连接数;如果所述单位时间内连接数小于所述当前连接池最小连接数,则根据基于第二时间维度和至少一个第二环境因素以第二预设缩减比例缩减所述当前连接池最小连接数。
本申请第三方面实施例提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行如上述实施例所述的自适应动态redis连接池的实现方法。
本申请第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的自适应动态redis连接池的实现方法。
由此,本申请至少具有如下有益效果:
根据实际连接需求动态预测并合理管理分配redis连接资源,满足连接需求的动态变化,有效避免连接资源浪费,提高redis连接资源利用率,并可以减少人工运维工作量,自动化保障业务应用高性能稳定运行。由此,解决了相关技术中通过静态预设redis连接池的数量无法满足动态连接需求,容易导致连接资源浪费或连接资源不足,增加人工运维工作量,降低应用运行的稳定性等问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的自适应动态redis连接池的实现方法的流程示意图;
图2为根据本申请实施例提供的自适应动态redis连接池的实现装置的方框示意图;
图3为根据本申请实施例提供的电子设备的方框示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
目前redis连接池的配置通常是通过压力测试模拟一定并发用户数的具体业务场景,调整参数选择最佳连接池配置。在微服务架构下,可能会有多个不同功能的应用同时使用一个redis,各个应用用户高峰访问时间段不同,各个应用的最大并发redis连接需求也不同。如果通过静态预设redis连接池,即使在服务空闲时期,也会保持大量的redis连接,浪费了redis连接资源;如果某些业务应用突发访问数增加,运维可能会动态扩展应用实例数,静态预设的redis连接池配置可能无法满足这些动态需求变化。
下面参考附图描述本申请实施例的自适应动态redis连接池的实现方法、装置、电子设备及存储介质。针对上述背景技术中心提到的相关技术中通过静态预设redis连接池的数量无法满足动态连接需求,容易导致连接资源浪费或连接资源不足,增加人工运维工作量,降低应用运行的稳定性,本申请提供了一种自适应动态redis连接池的实现方法,在该方法中,根据实际连接需求动态预测并合理管理分配redis连接资源,满足连接需求的动态变化,有效避免连接资源浪费,提高redis连接资源利用率,并可以减少人工运维工作量,自动化保障业务应用高性能稳定运行。由此,解决了相关技术中通过静态预设redis连接池的数量无法满足动态连接需求,容易导致连接资源浪费或连接资源不足,增加人工运维工作量,降低应用运行的稳定性等问题。
具体而言,图1为本申请实施例所提供的一种自适应动态redis连接池的实现方法的流程示意图。
需要说明的是,本申请实施例的自适应动态redis连接池的实现方法可以应用到各种电子设备,包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境等。以下实施例中以运行于应用服务器为例。
如图1所示,该自适应动态redis连接池的实现方法包括以下步骤:
在步骤S101中,获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数。
可以理解的是,在应用服务运行过程中,当应用程序尝试获取redis客户端连接实例时,首先获取redis客户端等待请求总量、连接池空闲连接数、连接池实际所有连接数,计算新增加连接数;然后基于连接池实际所有连接数、新增连接数,获取最新连接池最大连接数;从而可以按需动态预测并合理管理分配redis连接,对连接池进行扩容调整。
在本实施例中,新增连接数的计算公式为:新增连接数=(等待请求总数-连接池空闲连接数)/单位时间处理请求数;最新连接池最大连接数的计算公式为:最新连接池最大连接数=实际所有连接数+新增连接数。
需要说明的是,在应用服务运行过程中,定时计算redis客户端单位时间内完成的处理请求数,并存放到本地缓存。
在步骤S102中,如果最新连接池最大连接数大于redis客户端的当前连接池最大连接数,则修改当前连接池最大连接数为最新连接池最大连接数,并根据并发连接数计算redis客户端的最新连接池最小连接数。
可以理解的是,如果redis客户端计算得出的最新连接池最大连接数大于连接池当前的最大连接数时,修改redis连接池最大连接数为最新连接池最大连接数,并根据并发连接数,计算连接池最新最小连接数。
其中,最新最小连接数=max(并发连接数,1)。
在步骤S103中,如果最新连接池最小连接数大于当前连接池最小连接数,则修改当前连接池最小连接数为最新连接池最小连接数。
可以理解的是,如果计算的最新最小连接数大于当前连接池最小连接数时,修改redis连接池最小连接数为最新最小连接数。
进一步而言,本申请实施例可以按需动态预测并合理管理分配redis连接,redis连接池自适应动态调整不仅包括连接池扩容调整,而且还包括连接池缩容调整,下面将对连接池缩容调整进行阐述。
在本实施例中,本申请实施例的方法还包括:判断redis客户端的单位时间内连接数是否小于当前连接池最大连接数;如果单位时间内连接数小于当前连接池最大连接数,则根据基于第一时间维度和至少一个第一环境因素以第一预设缩减比例缩减当前连接池最大连接数。
其中,第一预设缩减比例缩减可以根据实际调整需求具体设置,对此不作具体限定。
可以理解的是,如果redis客户端单位时间内连接数小于连接池最大连接数时,可根据时间维度及其他环境等因素,根据缩减比例,逐渐缩减redis连接池的最大连接数,从而实现连接池缩容调整,以按需动态预测并合理管理分配redis连接。
在本实施例中,本申请实施例的方法还包括:判断单位时间内连接数是否小于当前连接池最小连接数;如果单位时间内连接数小于当前连接池最小连接数,则根据基于第二时间维度和至少一个第二环境因素以第二预设缩减比例缩减当前连接池最小连接数。
其中,第二预设缩减比例缩减可以根据实际调整需求具体设置,对此不作具体限定。
可以理解的是,如果redis客户端单位时间内连接数小于连接池最小连接数时,可根据时间维度及其他环境等因素,根据缩减比例,逐渐缩减redis连接池的最小连接数,从而实现连接池缩容调整,以按需动态预测并合理管理分配redis连接。
在本实施例中,本申请实施例的方法还包括:每隔预设时长,将当前连接池最小连接数和当前连接池最大连接数存储于预设存储终端。
其中,预设时长可以根据实际情况具体设置,对此不作具体限定。
其中,预设存储终端可以根据存储需求具体选择,比如可以为持久存储设备等,对此不作具体限定。
以持久存储设备为例,可以理解的是,本申请实施例可以按时间段计算redis连接池的平均最大连接数和平均最小连接数,并按照时间段保存到持久存储设备,以实现redis连接池配置持久化存储。
在一些实施例中,在应用服务启动过程中,检测持久存储设备里是否存在redis连接池配置信息,如果存在redis连接池配置信息,则基于当前时间选择本时间段对应的历史配置信息,根据历史配置信息预设redis连接池最大连接数和最小连接数;如果首次启动没有历史配置信息,则使用预设的redis连接池配置,设置redis连接池最大连接数和最小连接数。
根据本申请实施例提出的自适应动态redis连接池的实现方法,根据实际连接需求动态预测并合理管理分配redis连接资源,满足连接需求的动态变化,有效避免连接资源浪费,提高redis连接资源利用率,并可以减少人工运维工作量,自动化保障业务应用高性能稳定运行。
其次参照附图描述根据本申请实施例提出的自适应动态redis连接池的实现装置。
图2是本申请实施例的自适应动态redis连接池的实现装置的方框示意图。
如图2所示,该自适应动态redis连接池的实现装置10包括:获取模块100、第一扩容模块200和第二扩容模块300。
其中,获取模块100用于获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数;第一扩容模块200用于在最新连接池最大连接数大于redis客户端的当前连接池最大连接数时,修改当前连接池最大连接数为最新连接池最大连接数,并根据并发连接数计算redis客户端的最新连接池最小连接数;第二扩容模块300用于在最新连接池最小连接数大于当前连接池最小连接数时,修改当前连接池最小连接数为最新连接池最小连接数。
可选地,新增连接数的计算公式为:新增连接数=(等待请求总数-连接池空闲连接数)/单位时间处理请求数;最新连接池最大连接数的计算公式为:最新连接池最大连接数=实际所有连接数+新增连接数。
进一步地,本申请实施例的装置10还包括:存储模块、第一缩容模块和第二缩容模块。
其中,存储模块,用于每隔预设时长,将当前连接池最小连接数和当前连接池最大连接数存储于预设存储终端;第一缩容模块,用于判断redis客户端的单位时间内连接数是否小于当前连接池最大连接数;如果单位时间内连接数小于当前连接池最大连接数,则根据基于第一时间维度和至少一个第一环境因素以第一预设缩减比例缩减当前连接池最大连接数;第二缩容模块,用于判断单位时间内连接数是否小于当前连接池最小连接数;如果单位时间内连接数小于当前连接池最小连接数,则根据基于第二时间维度和至少一个第二环境因素以第二预设缩减比例缩减当前连接池最小连接数。
需要说明的是,前述对自适应动态redis连接池的实现方法实施例的解释说明也适用于该实施例的自适应动态redis连接池的实现装置,此处不再赘述。
根据本申请实施例提出的自适应动态redis连接池的实现装置,根据实际连接需求动态预测并合理管理分配redis连接资源,满足连接需求的动态变化,有效避免连接资源浪费,提高redis连接资源利用率,并可以减少人工运维工作量,自动化保障业务应用高性能稳定运行。
图3为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序。
处理器302执行程序时实现上述实施例中提供的自适应动态redis连接池的实现方法。
进一步地,电子设备还包括:
通信接口303,用于存储器301和处理器302之间的通信。
存储器301,用于存放可在处理器302上运行的计算机程序。
存储器301可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器301、处理器302和通信接口303独立实现,则通信接口303、存储器301和处理器302可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器301、处理器302及通信接口303,集成在一块芯片上实现,则存储器301、处理器302及通信接口303可以通过内部接口完成相互间的通信。
处理器302可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的自适应动态redis连接池的实现方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种自适应动态redis连接池的实现方法,其特征在于,包括以下步骤:
获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数;
如果所述最新连接池最大连接数大于所述redis客户端的当前连接池最大连接数,则修改所述当前连接池最大连接数为所述最新连接池最大连接数,并根据并发连接数计算所述redis客户端的最新连接池最小连接数;以及
如果所述最新连接池最小连接数大于当前连接池最小连接数,则修改所述当前连接池最小连接数为所述最新连接池最小连接数。
2.根据权利要求1所述的方法,其特征在于,其中,
所述新增连接数的计算公式为:新增连接数=(等待请求总数-连接池空闲连接数)/单位时间处理请求数;
所述最新连接池最大连接数的计算公式为:最新连接池最大连接数=实际所有连接数+新增连接数。
3.根据权利要求1所述的方法,其特征在于,还包括:
每隔预设时长,将所述当前连接池最小连接数和所述当前连接池最大连接数存储于预设存储终端。
4.根据权利要求1所述的方法,其特征在于,还包括:
判断所述redis客户端的单位时间内连接数是否小于当前连接池最大连接数;
如果所述单位时间内连接数小于所述当前连接池最大连接数,则根据基于第一时间维度和至少一个第一环境因素以第一预设缩减比例缩减所述当前连接池最大连接数。
5.根据权利要求4所述的方法,其特征在于,还包括:
判断所述单位时间内连接数是否小于当前连接池最小连接数;
如果所述单位时间内连接数小于所述当前连接池最小连接数,则根据基于第二时间维度和至少一个第二环境因素以第二预设缩减比例缩减所述当前连接池最小连接数。
6.一种自适应动态redis连接池的实现装置,其特征在于,包括:
获取模块,用于获取redis客户端的等待请求总数、连接池空闲连接数和实际所有连接数,并计算新增连接数和最新连接池最大连接数;
第一扩容模块,用于在所述最新连接池最大连接数大于所述redis客户端的当前连接池最大连接数时,修改所述当前连接池最大连接数为所述最新连接池最大连接数,并根据并发连接数计算所述redis客户端的最新连接池最小连接数;以及
第二扩容模块,用于在所述最新连接池最小连接数大于当前连接池最小连接数时,修改所述当前连接池最小连接数为所述最新连接池最小连接数。
7.根据权利要求6所述的装置,其特征在于,其中,
所述新增连接数的计算公式为:新增连接数=(等待请求总数-连接池空闲连接数)/单位时间处理请求数;
所述最新连接池最大连接数的计算公式为:最新连接池最大连接数=实际所有连接数+新增连接数。
8.根据权利要求6所述的装置,其特征在于,还包括:
存储模块,用于每隔预设时长,将所述当前连接池最小连接数和所述当前连接池最大连接数存储于预设存储终端;
第一缩容模块,用于判断所述redis客户端的单位时间内连接数是否小于当前连接池最大连接数;如果所述单位时间内连接数小于所述当前连接池最大连接数,则根据基于第一时间维度和至少一个第一环境因素以第一预设缩减比例缩减所述当前连接池最大连接数;
第二缩容模块,用于判断所述单位时间内连接数是否小于当前连接池最小连接数;如果所述单位时间内连接数小于所述当前连接池最小连接数,则根据基于第二时间维度和至少一个第二环境因素以第二预设缩减比例缩减所述当前连接池最小连接数。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-5任一项所述的自适应动态redis连接池的实现方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-5任一项所述的自适应动态redis连接池的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601679.6A CN114490030A (zh) | 2021-12-24 | 2021-12-24 | 自适应动态redis连接池的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601679.6A CN114490030A (zh) | 2021-12-24 | 2021-12-24 | 自适应动态redis连接池的实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490030A true CN114490030A (zh) | 2022-05-13 |
Family
ID=81495716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111601679.6A Pending CN114490030A (zh) | 2021-12-24 | 2021-12-24 | 自适应动态redis连接池的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490030A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396486A (zh) * | 2022-08-30 | 2022-11-25 | 重庆蚂蚁消费金融有限公司 | 连接池处理方法、装置、存储介质及设备 |
-
2021
- 2021-12-24 CN CN202111601679.6A patent/CN114490030A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396486A (zh) * | 2022-08-30 | 2022-11-25 | 重庆蚂蚁消费金融有限公司 | 连接池处理方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4112420B2 (ja) | 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム | |
CN110196767B (zh) | 服务资源控制方法、装置、设备和存储介质 | |
USRE44686E1 (en) | Dynamically modifying the resources of a virtual server | |
US8429666B2 (en) | Computing platform with resource constraint negotiation | |
CN112559182B (zh) | 资源分配方法、装置、设备及存储介质 | |
CN111190739A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN104202305A (zh) | 一种转码处理方法、装置及服务器 | |
CN114461335A (zh) | 云计算环境虚拟机和容器弹性伸缩方法、装置及设备 | |
CN114490030A (zh) | 自适应动态redis连接池的实现方法及装置 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN112163734B (zh) | 基于云平台整定计算资源动态调度方法及装置 | |
CN116150067A (zh) | 一种带宽调整方法、装置、电子设备和存储介质 | |
CN114816766A (zh) | 一种计算资源分配方法及其相关组件 | |
CN115794396A (zh) | 资源分配的方法、系统和电子设备 | |
CN113254208A (zh) | 服务器的负载均衡方法、装置、服务器及存储介质 | |
CN113535378A (zh) | 一种资源调配方法、存储介质及终端设备 | |
CN114327862A (zh) | 一种内存分配方法、装置、电子设备及存储介质 | |
CN113468442A (zh) | 资源位流量的分发方法、计算设备及计算机存储介质 | |
CN110955644A (zh) | 一种存储系统的io控制方法、装置、设备及存储介质 | |
CN117785486B (zh) | 环境资源调配方法、装置、设备和介质 | |
CN112416548B (zh) | 内核调度方法、设备、终端和存储介质 | |
CN113504994B (zh) | 一种内存池性能弹性伸缩的实现方法及系统 | |
CA2318082C (en) | Method and device for controlling processes on a computer system | |
CN115878568A (zh) | 数据更新方法、装置、设备及计算机可读存储介质 | |
CN117608480A (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 |