AWS Lambda可以调用保证不同的容器

时间:2017-02-05 20:49:48

标签: amazon-web-services aws-lambda

我目前正在使用AWS lambda使用ffmpeg进行一些简短的视频编码。如果为我的lambda func(当前正在运行的func)配置了现有的容器,那么如果我再次调用它,它是否可能会使用这个现有的容器?

这会大大增加我的函数运行时间,因为我将在容器中执行两个或更多cpu繁重任务而不只是一个。

如果这是真的,是否可以在新容器中启动lambda func?

lambda保证每个函数都有一定的内存分配是有道理的,但是如果函数是cpu绑定的,那么如果同时使用容器,容器是不是会有瓶颈?

我已查看https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/

谢谢!

1 个答案:

答案 0 :(得分:2)

AWS Lambda函数在一个容器中执行,该容器将它们与其他函数(可能是您的函数)隔离开来。多个Lambda调用不会同时使用给定容器。

如果没有加载代码的现有容器可以自由运行,则启动一个新容器('冷启动')。将代码加载到其中的给定容器可以重用于后续调用,但仅限于先前的调用已完成(“热启动”)。

你不能强迫Lambda冷启动,而不能强迫它冷启动。它使用自己的调度算法,基于您对调用历史的了解以及对当前和未来工作负载的期望。

分配的CPU与配置的RAM成比例,因此只需相应地配置RAM。

有关Lambda中容器重用的更多信息,请参阅this blog post