2

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

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

4

2 回答 2

2

这是冷启动的问题。

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

如果你使用 node.js,

网页包:

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

如果您使用其他语言,

文件数:

减少文件数量

延迟加载:

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

希望能帮助到你。

于 2017-10-20T14:00:39.347 回答
1

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

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

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

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

于 2017-10-20T20:22:47.917 回答