是否可以保持AWS Lambda功能的温暖?

时间:2017-03-18 17:25:30

标签: amazon-web-services aws-lambda serverless-framework

我的应用程序中有一些部分无法承受Lambda功能在新的或未使用一段时间后经历的“冻融”循环造成的额外1-2秒延迟。

如何保持这些Lambda函数的温暖,以便AWS不必一直重新配置它们?这适用于1)不经常使用的功能和2)最近部署的功能。

理想情况下,有一个我错过的设置称为“保持温暖”,这增加了Lambda函数的成本,但始终保持函数温暖并准备响应,但我很确定这不存在。

我想一个选择是使用CloudWatch计时器来经常ping这些函数......但这对我来说是错误的。另外,我不知道AWS用于将Lambda函数放在冰上的时间间隔。

1 个答案:

答案 0 :(得分:2)

英国广播公司在iPlayer engineering上发表了一篇很好的文章,他们描述了类似的问题。

他们选择使用CloudWatch Scheduled Events每隔几分钟调用一次该函数。

  

所以从理论上说,它应该留在那里,除非它可能没有。所以我们设置了一个预定的事件来保持容器“温暖”。我们每隔几分钟调用一次该函数,不进行任何处理,但要确保我们已准备好模型。这占调用的一小部分,但有助于我们减轻模型下载中的竞争条件。(我们还人为限制并行调用多少lambda作为附加措施)。