為了防止函數被過度調用導致費用失控,每個賬戶在當前地區中最多可以同時運行300個執行個體。同時,Function Compute還提供函數層級的執行個體數限制,防止單個函數過度調用導致執行個體佔用,從而保護後端資源,避免預期外的費用開銷。
應用情境
保護函數的正常並發度。
例如,有function-a、function-b兩個函數共用帳號層級的執行個體限制數,其中function-a是需要保護的重點業務函數,而function-b有可能被過度調用而影響function-a的正常請求。此時,可以單獨為function-b設定執行個體限制,防止function-b搶佔大量的執行個體數,使function-a分配不到足夠的執行個體。也可以單獨為function-a設定並發數,保證該函數一定能分配到指定數量的執行個體。
保護下遊服務。
例如,在Function Compute中需要大量訪問RDS資料庫,由於資料庫處理能力有限,您需要保護RDS不被打垮,您可以為訪問RDS的函數設定執行個體限制。
禁止異常函數調用。
例如,如果發現某個函數調用異常,可以設定最大函數執行個體數為0,禁止其調用。
防止過度調用函數。
例如,瀏覽器端或用戶端使用者的操作行為不受控制,設定函數級執行個體數限制可以防止調用失控而產生意外費用。
使用限制
每個阿里雲帳號在同一地區同一時刻最多可以同時運行300個函數執行個體,函數執行個體包括預留執行個體和按量執行個體。
說明如果您需要使用更多的函數執行個體,請加入DingTalk使用者群(DingTalk群號64970014484)申請。
函數層級可設定的並發執行個體數上限是地區層級限制的90%,並且該地區所有函數可設定的並發執行個體總數也是該地區層級限制的90%。
例如,地區層級可設定的並發執行個體數上限為300個,那麼函數層級可設定的並發執行個體數上限為270個。當一個函數已設定並發執行個體數上限為100個,其他函數能夠設定的並發執行個體數上限總和不能超過170個。
操作步驟
您可以通過以下任一方式配置並發執行個體數上限。
通過配額管理配置
登入Function Compute控制台,在左側導覽列,單擊函數。
在頂部功能表列,選擇地區,然後在函數頁面,單擊目標函數。
選擇配額管理頁簽,單擊編輯。
在編輯並發執行個體數上限面板中,填寫並發執行個體數上限,然後單擊確定。
通過彈性管理配置
登入Function Compute控制台,在左側導覽列,選擇 。
在頂部功能表列,選擇地區,然後選擇並發執行個體數上限頁簽。
單擊建立並發執行個體數上限。
在建立並發執行個體數上限面板中,選擇要配置的函數名稱,填寫並發執行個體數上限,然後單擊確定。
相關文檔
按量模式和預留模式執行個體的基本概念及計費方式,請參見執行個體類型及使用模式。
如果您想查看按量模式和預留模式執行個體在Auto Scaling時的限制、行為及伸縮規則,請參見執行個體伸縮限制及規則。
如果您想提高預留執行個體使用率,解決資源浪費問題,請參見配置預留執行個體。