本公开涉及服务器,尤其涉及一种请求并发量的确定方法、装置、电子设备及存储介质。
背景技术:
1、接口调用广泛存在于各应用软件服务之间,由于各服务组件在系统设计、业务复杂度、可用资源等诸多方面存在差异,导致服务组件对外提供的接口服务在性能上存在差异,因此在下游服务组件(客户端)处理业务能力出现波动时,上游服务组件(服务端)的业务处理压力也随之波动。为了防止接口请求波动过大而导致服务端过载,进而影响系统稳定性及业务连续性,通常需要对接口请求进行限流。
2、当前控制客户端访问服务端接口的并发数,通常有两种方式:1、通过客户端手动配置并发数,这种方式的灵活性较低,且不容易确定准确的数值,数值太小则会导致服务器资源浪费,数值太大则可能导致服务过载甚至崩溃,并且无法应对服务端性能波动;2、从服务端动态获取流量控制参数,该方式需要服务端实时计算合理的流量控制数值,并通知客户端,客户端根据数值调整并发数,整体实现难度大,增加了系统复杂度,开发成本高。
技术实现思路
1、本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
2、本公开第一方面实施例提出了一种请求并发量的确定方法,由客户端执行,包括:
3、获取请求并发任务的初始化参数,所述初始化参数至少包括接口基准响应延迟和接口基准并发数;
4、获取多个历史请求消息的响应消息,并根据历史请求消息的第一时间戳和所述历史请求消息的响应消息的第二时间戳,获取多个历史请求消息的响应延迟;
5、基于所述多个历史请求消息的响应延迟,确定响应平均延迟;
6、基于所述响应平均延迟和所述初始化参数,确定接口的目标请求并发量。
7、本公开第二方面实施例提出了一种请求并发量的确定装置,由客户端执行,包括:
8、第一获取模块,获取请求并发任务的初始化参数,所述初始化参数至少包括接口基准响应延迟和接口基准并发数;
9、第二获取模块,用于获取多个历史请求消息的响应消息,并根据历史请求消息的第一时间戳和所述历史请求消息的响应消息的第二时间戳,获取多个历史请求消息的响应延迟;
10、延迟确定模块,用于基于所述多个历史请求消息的响应延迟,确定响应平均延迟;
11、并发量确定模块,用于基于所述响应平均延迟和所述初始化参数,确定接口的目标请求并发量。
12、本公开第三方面实施例提出了一种电子设备,包括:
13、至少一个处理器;以及
14、与至少一个处理器通信连接的存储器;其中,
15、存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开第一方面实施例中提供的请求并发量的确定方法。
16、本公开第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机指令,其中,计算机指令用于使计算机执行根据本公开第一方面实施例中提供的请求并发量的确定方法。
17、本公开第五方面实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开第一方面实施例中提供的请求并发量的确定方法。
18、本申请可以根据历史请求消息的响应延迟,获取多个历史请求消息的响应平均延迟,以初始化参数结合实时的响应平均延迟进行目标请求并发量的获取,无需人工干预,提高对目标请求并发量的获取准确性和服务器的资源利用率。
1.一种请求并发量的确定方法,其特征在于,由客户端执行,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述响应平均延迟和所述初始化参数,确定接口的目标请求并发量,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述获取多个历史请求消息的响应消息,包括:
4.根据权利要求1或2所述的方法,其特征在于,所述获取多个历史请求消息的响应消息,包括:
5.根据权利要求1或2所述的方法,其特征在于,所述基于所述响应平均延迟和所述初始化参数,确定接口的目标请求并发量之后,还包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标请求并发量、所述节点数量和所述业务数据队列的状态,判断是否创建新的工作节点,包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
9.根据权利要求5所述的方法,其特征在于,所述异步执行所述新的工作节点的创建流程和工作节点调用服务端的接口的流程,包括:
10.一种请求并发量的确定装置,其特征在于,由客户端执行,包括:
11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-9中任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。