Bil*_*ers 2 amazon-web-services aws-lambda aws-api-gateway
我一直在修改AWS Lambda中的nodejs代码,由一些API网关端点调用.我注意到,经过一段时间没有任何API网关调用后,下一个API网关请求将超时.我将得到标准的Lambda错误消息,说明函数超时.但是,后续HTTP请求触发我的Lambda工作正常.
从表面上看,看起来某些东西正在进入"空闲"模式,需要在API Gateway-Lambda请求正常工作之前进行充电.我考虑过设置一个wget cron以保持非空闲状态,但是有没有真正的解决方案,我怎样才能更好地理解发生了什么?
Lambda让工作人员保持活动一段时间,并且(如您所知)在一段时间不活动后将该工作人员移除.以下是我们论坛上发布的一系列建议的副本:
一些建议:
- 保持Lambda功能"温暖".如果不经常调用它,则会产生开销"冷启动"成本,因为Lambda需要分配资源来满足您的请求.有关详细信息,请参阅此帖子.
- 使用基于资源的权限调用Lambda函数,而不是基于角色.这是为了避免API网关需要向STS发出assumeRole()请求的开销.如果在控制台中进行设置,则基于资源的调用是默认的.
- 如果合适,请考虑为您的API启用缓存.
- 您的API是否通过映射模板对请求或响应进行任何转换?这显然会随着转换的复杂性而产生线性上升.
注意,#1应该只作为最后的手段使用,假设没有其他选项适合您.
| 归档时间: |
|
| 查看次数: |
1631 次 |
| 最近记录: |