簡體   English   中英

AWS Lambda 預置並發仍然導致冷啟動

[英]AWS Lambda provisioned concurrency still results in cold start

我正在嘗試從 AWS Lambda 預熱(每 5 分鍾調用 function)切換到預配置並發,因為有人告訴我這是避免冷啟動的更好方法。 然而,當使用預配置的並發時,我的腳本會經歷所有的包導入,這使得延遲非常重要。 對於兩個不同環境中的相同 lambda function,一個使用預熱,一個使用預配置並發,一個使用預熱的執行時間不到 1 秒,而另一個需要將近一分鍾。

我所有的導入當然都在 function 處理程序之外,並且似乎為我的 Lambda 正確啟用了配置並發。為了啟用它,我只是在 my.yml 文件中添加了這一行: provisionedConcurrency: 3

我是不是遺漏了什么,或者在創建容器時預配置的並發性沒有處理庫導入?

lambda 是如何調用的?

預配並發設置在 lambda 別名/版本上(不能在 $LATEST 上設置)。 在無服務器框架中, provisionedConcurrency: 3將在 lambda 別名“provisioned”(這是默認值,無法更改)上配置預配置並發,具有 3 個實例。

因此,無論誰調用您的 lambda(api 網關/其他 lambda/sqs/sns/etc)都需要調用別名實例。 如果您沒有調用別名版本,那么您只是在調用未提供的 $LATEST ...

通過將別名附加到 function 的末尾來調用別名: rn:aws:lambda:us-west-2:123456789012:function:my-function:provisioned或通過在相關字段中添加qualifier參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM