首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制在VPC上完全冷启动AWS lambda函数?

如何强制在VPC上完全冷启动AWS lambda函数?
EN

Stack Overflow用户
提问于 2019-03-17 19:05:38
回答 3查看 7.3K关注 0票数 10

我有一个用Python语言编写的lambda函数,它使用了几个重量级依赖项(NumPy、pandas、goodtables等)。同时连接私有网络(用于访问Postgres RDS实例)

此函数执行一段时间(> 4-6小时)后,冷启动执行时间较长(16.2秒)

但是,如果我更新函数代码并再次调用它(在第一次执行后不久),冷启动执行时间会急剧减少(3秒)

如果我在不更新函数的情况下再次调用该函数,那么它是一个热启动,执行时间会进一步缩短(313ms)

我怀疑第一次冷启动(16.2秒)是Lambda设置弹性网卡访问私有网络资源,第二次冷启动(3秒)时弹性网卡被重用,避免了重新创建弹性网卡的时间。

我正在尝试优化这个函数的冷启动时间,希望它从头开始,看看完全冷启动(即无网卡+冷启动)的执行速度有多快。

有没有一种方法可以做到这一点并反复这样做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-27 13:26:02

您可以打开内存,保存并重新设置它。

您还可以添加新的环境变量。

这迫使所有现有的热lambda被处理,并在下一次调用lambda时重新启动。

票数 14
EN

Stack Overflow用户

发布于 2019-03-17 21:34:00

您可以尝试发布lambda函数的新版本以进行测试,而不仅仅是修改代码。根据AWS的说法,每次发布lambda函数的新版本时,运行函数的所有容器都会被销毁,然后重新创建,这应该会强制完全冷启动。

票数 0
EN

Stack Overflow用户

发布于 2019-06-10 23:45:39

我也想知道同样的事情,虽然您可以在测试场景中将保留计数“节流”为零,但在生产场景中,这很可能不是一个可行的选择。为此,请查看Force Discard AWS Lambda ContainerRestarting AWS lambda function to clear cache中的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55206348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档