本发明是关于云计算领域,特别是关于一种无服务器函数实例并发配置动态调整方法及实现该无服务器函数实例并发配置动态调整方法的系统、电子设备和存储介质。
背景技术:
1、无服务器计算是一个基于云的、按需执行的云计算模型,它允许开发人员主要关注函数代码逻辑,而无需关注计算环境和底层基础设施。由于无服务器计算的低成本和高灵活性特点,越来越受欢迎。在无服务器计算平台中,通常一个函数实例可以承载多个并发请求,并且可令多余的请求进行排队。然而,多数情况下需要预先对函数进行配置,手动设定该函数能同时承载的并发上限(数量)以及请求排队时间等配置,且这些配置在运行过程当中不能变更。对于不同资源限制的环境下,单函数实例所能够承载的并发量是不同的,且用户对不同函数的时延要求也可能不同。同时,一个函数实例分配到的资源是有限的,实例负载越高,造成的资源争用现象就会越严重,请求的时延就会延长,导致服务质量无法得到满足。此外,多函数实例在同个节点上同时运行时,可能存在资源争用现象,会影响到各自的时延。
2、为解决资源争用问题,大多数无服务器计算平台在函数达到并发上限时会进行水平扩缩容,例如kubernetes使用水平pod自动伸缩(horizontal pod autoscale,hpa)进行容器的扩缩容。但是这种在多函数实例的情况下有可能会导致集群无法容纳下过多的实例,加剧函数实例间的资源竞争问题。
3、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种无服务器函数实例并发配置动态调整方法,其能够在节点处于高负载时调整其中一些函数实例的并发上限以减少节点中资源争用现象,提高请求在给定时延之前完成处理的比例。
2、本发明的目的还在于提供一种无服务器函数实例并发配置动态调整系统、电子设备及存储介质,能够实现上述所述的无服务器函数实例并发配置动态调整方法,能够在节点处于高负载时调整其中一些函数实例的并发上限以减少节点中资源争用现象,提高请求在给定时延之前完成处理的比例。
3、为实现上述目的,本发明的实施例提供了一种无服务器函数实例并发配置动态调整方法,包括:
4、获取节点中函数实例对应的指标,以及对应的并发上限和排队容忍时间;
5、根据所述指标判断函数实例是否触发并发配置调整策略;
6、响应于触发并发配置调整策略,动态调整函数实例的并发上限和请求排队时间。
7、在本发明的一个或多个实施方式中,所述函数实例对应的并发上限和排队容忍时间是基于并发配置预测模型预测的,所述并发配置预测模型是通过对函数实例在不同或相同资源量、不同请求并发量进行测试获得的请求时延和平均排队时间数据训练获得的。
8、在本发明的一个或多个实施方式中,通过如下步骤获得所述回归预测模型:
9、基于请求时延和平均排队时间数据生成数据集,并利用数据集生成训练集和测试集;
10、基于所述训练集训练所述回归预测模型,并基于所述测试集确定准确度满足预设条件的回归预测模型。
11、在本发明的一个或多个实施方式中,所述数据集通过如下步骤生成:
12、获取每个函数请求在无资源争用下的请求时延;
13、遍历已有的不同资源上限集合以及请求时延增长比例集合,根据不同资源分配上限和不同请求时延增长比例,计算该配置下的请求时延上限值以及排队容忍时间;
14、过滤不同并发量下请求时延小于请求时延上限值的数据,并获取数据中最大的并发量及排队容忍时间,将该数据收集到结果数据集中,形成所述数据集。
15、在本发明的一个或多个实施方式中,所述指标包括请求时延上限值和容忍时间阈值,根据所述指标判断函数实例是否触发并发配置调整策略包括:
16、判断函数实例的请求时延大于请求时延上限值且排队容忍时间小于容忍时间阈值是否持续预设时间;
17、响应于持续了预设时间时,则确定函数实例触发并发配置调整策略。
18、在本发明的一个或多个实施方式中,所述动态调整函数实例的并发上限和请求排队时间包括
19、判断函数实例的资源使用量是否超过申请量且实时并发请求量大于零;
20、响应于资源使用量超过申请量且实时并发请求量大于零,根据函数实例的优先级将其加入到优先级队列,进一步将优先级低的函数实例的并发上限进行下调,并增加请求排队时间。
21、在本发明的一个或多个实施方式中,同一节点中,相同类型的函数实例的并发上限及请求排队时间的调整相同。
22、本发明的实施例还提供了一种服务器函数实例并发配置动态调整系统,包括:
23、获取模块,用于获取节点中函数实例对应的指标,以及对应的并发上限和排队容忍时间;
24、判断模块,用于根据所述指标判断函数实例是否触发并发配置调整策略;
25、调整模块,用于在判断模块判断触发并发配置调整策略时动态调整函数实例的并发上限和请求排队时间。
26、本发明的实施例还提供了一种电子设备,所述电子设备包括:
27、至少一个处理器;以及
28、至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的计算机程序,所述计算机程序由所述至少一个处理器执行时,使得所述电子设备执行上述所述的方法。
29、本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被机器执行时实现上述所述的方法。
30、与现有技术相比,本发明能够在节点处于高负载时调整其中一些函数实例的并发上限(即并发请求数量上限),以减少节点中资源争用现象,进而提高请求在给定时延之前完成处理的比例。
1.一种无服务器函数实例并发配置动态调整方法,其特征在于,包括
2.如权利要求1所述的方法,其特征在于,所述函数实例对应的并发上限和排队容忍时间是基于并发配置预测模型预测的,所述并发配置预测模型是通过对函数实例在不同或相同资源量、不同请求并发量进行测试获得的请求时延和平均排队时间数据训练获得的。
3.如权利要求2所述的方法,其特征在于,通过如下步骤获得所述回归预测模型:
4.如权利要求3所述的方法,其特征在于,所述数据集通过如下步骤生成:
5.如权利要求1所述的方法,其特征在于,所述指标包括请求时延上限值和容忍时间阈值,根据所述指标判断函数实例是否触发并发配置调整策略包括:
6.如权利要求1所述的方法,其特征在于,所述动态调整函数实例的并发上限和请求排队时间包括:
7.如权利要求1所述的方法,其特征在于,同一节点中,相同类型的函数实例的并发上限及请求排队时间的调整相同。
8.一种服务器函数实例并发配置动态调整系统,其特征在于,包括
9.一种电子设备,其特征在于,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被机器执行时实现权利要求1至7任一项所述的方法。