如何减少DynamoDB流触发Lambda的延迟?

问题描述 投票:0回答:1

我遇到由 DynamoDB 流触发的 Lambda 函数的延迟问题。尽管使用 Node.js 16.x 配置 Lambda,超时为 5 分钟,内存分配为 1536,但触发器仍需要 5 分钟以上才能启动 Lambda 执行。

如何减少这个触发时间?我尝试增加 Lambda 内存和超时设置,但尚未解决延迟问题。任何有关优化触发时间的建议或见解将不胜感激。

Lambda 设置:

NodeJs 16.x
5 minute timeout
1536 memory configuration
amazon-web-services aws-lambda amazon-dynamodb
1个回答
0
投票

您的 EventSourceMapping 需要正确配置,它与您的 Lambda 内存无关。

5 分钟是默认的批处理窗口时间。发生的情况是您没有满足分片中默认的 100 个项目来调用该函数,因此它正在等待批处理窗口来触发该函数。

Batch size
– 每批发送到函数的记录数,最多 10,000 条。只要事件的总大小不超过同步调用的负载限制 (6 MB),Lambda 就会在一次调用中将批处理中的所有记录传递给函数。

Batch window
– 指定调用函数之前收集记录的最长时间(以秒为单位)。

我的建议是降低这两者的价值。批量大小应该足够小,以便您在 Y 时间内累积 N 数量的更改。 Y 是您认为调用该函数合理的时间。

© www.soinside.com 2019 - 2024. All rights reserved.