AWS Lambda 函数在第一次调用时超时,在第二次调用时工作



我的 AWS Lambda 函数与 AWS API 集成 - 网关请求 URL 在每个第一个请求中超时,但它适用于下一个请求。

注意:我们还尝试通过在 CloudWatch 中调度 Lambda 来保持温暖,但它没有奏效。

这是冷启动的问题。

您可以执行以下几项操作来提高冷启动速度,

如果使用节点.js,

网络包:

将单独文件中的所有模块打包到一个文件中。

如果您使用的是其他语言,

文件数量:

减少文件数量

延迟加载:

不要预先加载所有内容,在需要时延迟加载或加载模块。

希望对您有所帮助。

在不了解太多特定用例的情况下,这里有两个一般建议:

    增加
  1. 分配给函数的内存,这也成比例地增加 CPU。由于函数的调用频率非常低,因此增加内存大小的额外成本将通过更快的冷启动时间和从而缩短计费持续时间来平衡。

  2. 减少代码大小:更小.zip,删除 Node.js 中不必要的 require() 等。例如,如果包含异步库只是为了删除嵌套回调,请考虑放弃它以提高性能。

有关更多选项,请参阅 https://forums.aws.amazon.com/thread.jspa?threadID=181348。

最新更新