首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS S3 ObjectCreated用延迟触发lambda

AWS S3 ObjectCreated用延迟触发lambda
EN

Stack Overflow用户
提问于 2018-11-30 15:45:50
回答 2查看 3.5K关注 0票数 4

我已经为lambda配置了简单的触发器,它在到达S3时处理图像。通常,lambda以最小延迟触发,当S3接收到图像时,多次在同一秒钟内触发。但是,偶尔,大约7%的情况下,在接收到的图像和ObjectCreated事件之间存在延迟,这种延迟可能高达19秒!!(平均9-10秒)。

知道如何避免这种延误吗?

这种延迟使我无法使用S3->Lambda触发器来实现高性能的实时应用程序。

EN

回答 2

Stack Overflow用户

发布于 2018-11-30 15:45:50

一段时间后,试图调查和谷歌。

同时询问AWS对这个案件的支持,我终于从AWS那里得到了答案:

--

。。Lambda几乎是在我们收到事件后立即调用该函数的,但是您共享的特定请求id是对coldstart的调用,该调用增加了几乎10秒的额外延迟。 该函数位于VPC中,在这里,冷启动往往要花费几秒钟的时间()。Coldstart不能被消除,但是对于高容量函数,一旦您扩展了容器,那么冷启动的发生率就应该更低,并且可以重用更多的容器。

正如你可能从答案中看到的,如果你试图制作一个高性能/高流量的实时应用程序,S3->Lambda将无法满足您的需求。

我的下一个问题是,如果我直接从上传图像的脚本触发lambda,会有帮助吗?或者我应该避免在这种应用程序中使用lambda,而只将它留给后台数据处理?

希望这个答案能帮助到其他人。

票数 3
EN

Stack Overflow用户

发布于 2020-02-26 18:12:52

在2019年11月28日之后,由于AWS Lambda服务的改进,VPC内部的Lambdas冷启动不再造成如此多的延迟。你可以在这里找到更多关于它的信息:

https://aws.amazon.com/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/

在Lambda中有很多其他方法来减少冷启动,但这主要取决于用例。最常见的方法是减少Lambda的代码大小,或者使用其他运行时,例如Node或Python。

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

https://stackoverflow.com/questions/53560689

复制
相关文章

相似问题

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