本发明属于微服务的函数实例在线预留领域,尤其涉及一种基于faas的平衡服务性能和成本的实例预留方法与系统。
背景技术:
1、本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
2、faas(函数即服务)平台提供的函数实例用于云计算服务,其中,函数实例即为虚拟计算环境。在公有云市场中,以阿里云的函数计算为例,函数实例一般存在两种使用模式:按需实例及预留实例。其中,按需实例为faas平台根据用户的工作请求自动分配的实例,这些实例在工作到来时创建并处理工作,在工作处理完成一段时间后自动释放,用户根据函数实例处理任务所消耗的资源付费。预留实例是指由用户自己指定创建时间和释放时间的实例。预留持续可用,直到用户手动释放实例,用户需要根据实例预留的时间支付费用,无论实例在这段时间内是否处理过任务。此外,预留实例的计费粒度一般为10秒,当在函数实例预留期间,无工作到来或很少工作到来,可能造成大量成本浪费。
3、在实际生产中,企业和个人往往需要综合使用两种实例来处理云上复杂多变的工作负载。按需实例虽然能够根据用户实际处理的工作来产生费用,但会产生冷启动问题,导致服务性能的降低。为了保证服务的性能,用户往往会使用一定数量的预留实例,但由于未来需求情况未知,用户如果不能在大量工作到来前提前预留实例,则会导致冷启动问题,降低服务的性能;而如果用户在工作不多的情况下没有释放预留实例,则会造成实例资源的浪费及成本增加。
技术实现思路
1、为了解决上述在未来需求情况未知时,如何预留实例来提高服务性能及降低成本的技术问题,本发明提供一种基于faas的平衡服务性能和成本的实例预留方法与系统,其适用于负载中需求波动程度和到来情况动态变化的状态下,根据负载中需求的到来情况,在保证服务性能的前提下,自适应地判断当前实例与负载的状态,动态实时地为用户申请和释放预留实例,能够解决由于需求访问过少所造成的预留实例成本浪费的问题和负载激增时按需实例冷启动带来的服务性能下降问题。
2、为了实现上述目的,本发明采用如下技术方案:
3、本发明的第一个方面提供了一种基于faas的平衡服务性能和成本的实例预留方法。
4、在一个或多个实施例中,提供了一种基于faas的平衡服务性能和成本的实例预留方法,包括:
5、获取当前预留实例处理工作数据;
6、根据当前预留实例处理工作数据,计算当前所有预留实例在设定单位时间内共同处理的最大请求数作为当前预留实例性能;
7、根据当前预留实例性能的预设参考值与当前服务到来的工作数据作差,得到当前预留实例性能与服务的关系值;
8、根据当前预留实例性能与服务的关系值,判断当前预留实例性能的状态,进而根据对应实例释放/预留条件来确定实例预留策略。
9、本发明的第二个方面提供了一种基于faas的平衡服务性能和成本的实例预留系统。
10、在一个或多个实施例中,一种基于faas的平衡服务性能和成本的实例预留系统,包括:
11、数据获取模块,其用于获取当前预留实例处理工作数据;
12、性能确定模块,其用于根据当前预留实例处理工作数据,计算当前所有预留实例在设定单位时间内共同处理的最大请求数作为当前预留实例性能;
13、关系值计算模块,其用于根据当前预留实例性能的预设参考值与当前服务到来的工作数据作差,得到当前预留实例性能与服务的关系值;
14、策略确定模块,其用于根据当前预留实例性能与服务的关系值,判断当前预留实例性能的状态,进而根据对应实例释放/预留条件来确定实例预留策略。
15、本发明的第三个方面提供了一种电子设备。
16、一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于faas的平衡服务性能和成本的实例预留方法中的步骤。
17、与现有技术相比,本发明的有益效果是:
18、(1)本发明确定当前预留实例性能之后,根据当前预留实例性能的预设参考值与当前服务到来的工作数据作差,得到当前预留实例性能与服务的关系值,最后根据当前预留实例性能与服务的关系值,判断当前预留实例性能的状态,再根据对应实例释放/预留条件来确定实例预留策略,从而动态地改变预留实例数目,解决了由于需求访问过少而预留实例过多所造成的成本浪费的问题和按需实例冷启动所带来的服务性能降低问题,在保证服务性能的同时,优化云计算用户的需求服务成本。
19、(2)本发明在服务运行过程中,根据工作负载中工作到来情况和已有的预留实例数量,判断当前预留实例性能状态,通过实例在线预留方法动态地改变预留实例的数量;对于一个实例检查周期中:如果当前预留实例性能相对于当前工作量过剩,说明存在预留实例处于浪费状态的情况,则释放一定数量的预留实例,节约部分成本,使得服务成本达到最优;如果当前预留实例性能相对于当前工作量不足,说明当前预留实例不能保证服务的性能,则需要新申请一定数量的预留实例,以保证服务性能满足用户的需求;如果当前预留实例性能与当前工作量处于平衡状态,说明当前预留实例数量符合成本和性能的要求,则不需要做任何操作。本发明的函数实例在线预留策略在需求未知的基础上,判断当前预留实例性能与当前工作负载之间的关系,在满足用户要求的服务性能的前提下,动态调整预留实例数量,以此来达到性能和成本的平衡。
1.一种基于faas的平衡服务性能和成本的实例预留方法,其特征在于,包括:
2.如权利要求1所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,若当前预留实例性能与服务的关系值为正数,则判定当前预留实例性能过剩。
3.如权利要求2所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,在当前预留实例性能过剩的状态下,确定的实例预留策略为:
4.如权利要求3所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,所述实例释放条件为:
5.如权利要求1所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,若当前预留实例性能与服务的关系值为负数,则判定当前预留实例性能不足。
6.如权利要求5所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,在当前预留实例性能不足的状态下,确定的实例预留策略为:
7.如权利要求6所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,所述实例预留条件为:
8.如权利要求1所述的基于faas的平衡服务性能和成本的实例预留方法,其特征在于,若当前预留实例性能与服务的关系值为零,则判定当前预留实例性能与到来的工作数量处于平衡状态,保持原有实例预留策略。
9.一种基于faas的平衡服务性能和成本的实例预留系统,其特征在于,包括:
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一项所述的基于faas的平衡服务性能和成本的实例预留方法中的步骤。