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

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

问题描述:

与AWS API-网关请求URL集成的我的AWS Lambda函数对于每个第一个请求都超时,但它对下一个请求有效。AWS Lambda函数在第一次调用时超时,在第二次调用时工作

注意:我们也试图通过在CloudWatch中安排它们来保持Lambdas温暖,但它不起作用。

+3

虽然Lambda可能会在首次调用* your * Lambda函数时超时,但通常它不会。什么是您配置的超时?你使用什么编程语言?您的Lambda函数在调用时实际做了什么?例如,它是否在启动时下载大文件? – jarmod

+1

我们需要看到您的处理程序,以帮助您。你可以在你的问题中加入吗? – dashmug

+0

Hi @jarmod Hi @jarmod Hi @jarmod Hi @jarmod Hi @jarmod当我的lambda集成到API网关并在外部AWS(如iPad客户端)上调用上述超时问题时,我的实际问题是使用API​​请求获取请求时,我的Lambda函数没有问题 =>什么是您配置的超时?=对于Lambda 5分钟,但API网关固定30秒。 =>你使用什么编程语言? => Python =>我的lambda函数将调用Google API来提供一些信息并将其转换并作为JSON返回。它还在内部调用其他Lambda函数。 =>它是否在启动时下载大文件=否 –

这是冷启动的问题。

你可以做几下如果使用Node.js的改善冷启动速度,

的WebPack的:

包凡在单独的文件模块成一个文件。

如果使用其他语言,

文件数:

请算少的文件数量

LazyLoad:

不要加载一切预先延迟加载或需要时加载模块。

希望它有帮助。

不知道你的具体使用案例太多,这里有两个一般性建议:

  1. 增加分配给您的功能,这也成比例地增加CPU的内存。由于您的功能很少被调用,增加内存大小的额外成本将通过更快的冷启动时间和更低的计费时间来平衡。

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

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

+0

我们已经完成了增加内存大小的第一个建议,但没有运气。 我必须检查代码一次,并删除不必要的文件 **注意**:我有API网关的问题,在那里它与lambda函数集成并在iOS之外调用IOS客户端应用程序 –