實例伸縮規則及限制
更新時間 2024-12-11 10:50:28
最近更新時間: 2024-12-11 10:50:28
分享文章
本小節將介紹函數實例伸縮遵循的規則與限制。用戶可以根據按量模式和預留模式實例總數、實例擴容速度來配置實例彈性伸縮規則。
實例伸縮行為
當請求達到時,函數計算會優先使用已有的實例。當請求量超過可用實例的最大負載時,系統將創建額外的實例來處理更多的請求。隨著請求量的增加,系統將持續擴容至滿足業務需求,或達到設定的總實例數上限。
為函數配置預留實例后,總有一些實例處于就緒狀態,有效避免實例冷啟動帶來的請求延時問題。當函數調用請求增加時,按量模式和預留模式實例的伸縮行為如下。
按量模式實例伸縮
函數計算將在以下情形下遭遇流控:
- 請求量突增,擴容速度跟不上時
- 請求量要求的實例數超過最大允許實例數時
- 情形①:請求量不至于過大,在達到突增實例數前,系統可以快速創建實例,此過程沒有流控錯誤,但是存在冷啟動。
- 情形②:請求量激增,達到突增實例數后,系統擴容速度受限,創建實例速度變慢,部分請求會收到流控錯誤。
- 情形③:實例數超過最大允許實例數限制后,部分請求收到流控錯誤。
預留模式實例伸縮
當大量請求突然涌入時,短時間內大量實例擴容速度受限,流控生效將導致部分請求失敗,實例冷啟動造成的請求延遲增加也會影響用戶體驗。為避免這些問題,您可以使用函數計算的預留模式,即提前準備好函數實例。
- 情形①:當請求量較低時,預留實例足以處理所有的請求,此階段沒有冷啟動,也沒有流控。
- 情形②:當請求量比較高時,預留實例只能處理部分請求,按量實例會由系統自動擴容出來,處理剩余的請求。此階段按量實例存在冷啟動。
預留實例定時伸縮
適用場景
函數業務流量具有明顯的周期性活動或可預測的流量高峰。
配置示例
一個典型的定時伸縮場景是:在函數調用流量高峰到來前(時刻t1),通過一個定時配置將預留實例配置在較高的水位;當流量減小后(時刻t2),通過另一個定時配置將預留實例配置在較低的水位。如下圖所示。
給函數配置預留實例,依次進入高級功能-彈性管理-預留實例數策略,點擊創建預留實例數策略, 詳情請參考配置預留實例數。
最大可響應并發值
根據實例并發數的不同,函數實例可響應的最大并發值計算方式如下:
- 單實例單并發
最大可響應并發值 = 函數實例數量 - 單實例多并發
最大可響應并發值 = 函數實例數量 × 單實例并發度
相關文檔
按量模式和預留模式實例的基本概念及計費方式,請參考實例類型及使用模式。
您可以通過配置并發實例數限制某個函數的實例數,具體請參考并發實例數上限配置。
如果您想提高預留實例使用率,減少資源浪費,請參考配置預留實例數。