【发布时间】:2019-06-04 04:57:00
【问题描述】:
我有一个 Node.js Lambda 代码库,可以与 DynamoDB 中的小型数据集(每个小于 400 字节)进行通信。在向 DynamoDB 发出 get() 请求(通过 dynamoDbdAWS.DynamoDB.DocumentClient();)时,该函数时常会超时 5 分钟。
问题在于,这个问题何时会发生完全是随机的,但当它工作时,从冷启动开始需要大约 2 秒,因此运行超过 5 分钟是没有意义的,而且是随机的。
- 这是一个开发环境,所以只有我自己在使用它,我每天可能会执行 10 个请求
-
context.callbackWaitsForEmptyEventLoop = false;已设置 - 内存分配永远不会超过 45MB(128MB 集)
- 我直接在 Lambda 中测试
- 代码通过Serverless部署
- 在使用无服务器进行测试时,它在本地工作,而 Lambda 失败
我继承了这个项目,但对它周围的架构有很好的理解,而且它相当简单,但我之前没有用 Lambda 做过很多工作。
任何我应该寻找的想法或任何已知问题都将是一个巨大的帮助。
【问题讨论】:
-
Lambda 函数是否配置为在 VPC 中运行?
-
@MarkB 确实如此。
标签: node.js amazon-web-services aws-lambda amazon-dynamodb serverless