Dot-Net
每 4 分鐘發送一次保持活動請求時,Azure Functions 在消費計劃中仍然“冷啟動”
我已經閱讀了了解無伺服器冷啟動 | Azure 應用服務團隊部落格文章。評論之一說您也可以通過每隔 4 分鐘從 Azure Logic 應用程序呼叫函式來避免消費計劃中的冷啟動。
我試圖每 4 分鐘向我的應用程序的一項功能發出 1 個請求,但這並不總是有效。它有時仍然是冷啟動。我知道這是一個黑客。使用消費計劃時,有沒有更好的方法來確保 App 始終執行?
我試圖在我的文章Cold Starts Beyond First Request in Azure Functions中回答這個問題。
簡而言之,似乎沒有辦法完全避免冷啟動。保持活動呼叫將使給定實例的生命週期更長,但不會無限期延長。
目前,冷啟動似乎是 FaaS 實施的真正問題,它們會隨著時間的推移得到優化,但您可能無法將它們減少到 0。
根據這篇文章,我們可以使用事件網格觸發器來避免冷啟動延遲。
筆記
在消耗計劃中使用 blob 觸發器時,如果函式應用處於空閒狀態,則處理新 blob 最多可能會延遲 10 分鐘。函式應用執行後,會立即處理 blob。若要避免此冷啟動延遲,請使用啟用 Always On 的應用服務計劃,或使用事件網格觸發器。