-1

與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函數。 =>它是否在啓動時下載大文件=否 –

回答

1

這是冷啓動的問題。

你可以做幾下如果使用Node.js的改善冷啓動速度,

的WebPack的:

包凡在單獨的文件模塊成一個文件。

如果使用其他語言,

文件數:

請算少的文件數量

LazyLoad:

不要加載一切預先延遲加載或需要時加載模塊。

希望它有幫助。

1

不知道你的具體使用案例太多,這裏有兩個一般性建議:

  1. 增加分配給您的功能,這也成比例地增加CPU的內存。由於您的功能很少被調用,增加內存大小的額外成本將通過更快的冷啓動時間和更低的計費時間來平衡。

  2. 縮小您的代碼大小:更小的.zip,在Node.js中刪除不必要的require()等。例如,如果您要包含Async庫以刪除嵌套的回調,請考慮放棄提高性能。

有關更多選項,請參閱https://forums.aws.amazon.com/thread.jspa?threadID=181348

+0

我們已經完成了增加內存大小的第一個建議,但沒有運氣。 我必須檢查代碼一次,並刪除不必要的文件 **注意**:我有API網關的問題,在那裏它與lambda函數集成並在iOS之外調用IOS客戶端應用程序 –

相關問題