【发布时间】:2016-09-21 01:13:47
【问题描述】:
我目前正在使用带有 Serverless Framework 的 AWS Lambda 构建 Web API。
在我的 lambda 函数中,它们每个都连接到 Redis (elasticache) 和 RDB (Aurora, RDS) 或 DynamoDB 以检索数据或写入新数据。 我所有的 lambda 函数都在我的 VPC 中运行。
一切正常,除了当第一次执行 lambda 函数或在最后一次执行后一段时间执行时,执行 lambda 函数需要相当长的时间(1-3 秒),或者有时它甚至响应网关超时错误(大约 30 秒),即使我的 lambda 函数配置为 60 秒超时。
如here 中所述,我假设 1-3 秒用于初始化新容器。但是,我想知道是否有办法减少这个时间,因为 1-3 秒或网关超时并不是真正适合生产使用的理想选择。
【问题讨论】:
-
如果您不希望冷启动延迟,您可以尝试每分钟 ping 一次您的 API,以防止实例因空闲而进入睡眠状态。设置更高的 RAM 也会加快冷启动,因为这也会影响 CPU 分配。但是对于 30s 的超时,它肯定是有问题的。
标签: node.js aws-lambda serverless-framework