本文介紹Function Compute在資源使用上的關鍵限制,包括函數配額、運行資源、觸發器、層、地區和鏡像大小等。協助開發人員,尤其是新手使用者避免在不瞭解函數原理時,因誤配或者代碼有誤而造成費用不可控的問題,例如迴圈調用、死迴圈等。
Function Compute部分資源使用已接入配額中心,您可以通過配額中心控制台查看Function Compute的配額額度,並根據業務情況申請調整配額。
重要配額中心預設允許一定額度範圍內申請,部分配額在規定範圍之外可通過提交工單申請進一步提升,具體額度以配額中心為準。
為了提高配額申請效率,在申請配額時,必須充分說明理由,按照申請理由中的引導文案,提供業務相關資訊,否則會被拒絕。
針對未接入配額中心的資源使用項,如果現有資源額度不能滿足業務需求,請先從使用限制對應表格中確認其支援調整,然後通過提交工單或者加入DingTalk使用者群(群號:64970014484)申請。
管理配額
Function Compute已成功接入阿里雲配額中心,您可以通過配額中心控制台查看Function Compute的配額額度。配額中心的更多資訊,請參見什麼是配額中心。
在配額中心控制台,您可以管理以下Function Compute的配額。
配額名稱 | 描述 | 預設限制 | |
執行個體數上限 | 單個地區的執行個體數量上限 | 300個(以配額中心為準) | |
CPU鏡像大小上限 | 非GPU函數部署時支援的壓縮後鏡像大小上限 | 10GB | |
GPU鏡像大小上限 | GPU函數部署時支援的壓縮後鏡像大小上限 | 30GB | |
單個函數的層的數量上限 | - | 5個 | |
單個函數的觸發器數量上限 | - | 50個 | |
代碼部署套件大小限制 | 通過控制台、開發人員工具上傳或通過OSS指定程式碼封裝位置的程式碼封裝大小限制(壓縮為ZIP或JAR檔案) | 500MB | |
代碼部署套件大小限制在華東1(杭州)、華東2(上海)、華南1(深圳)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、中國香港、新加坡(新加坡)、日本(東京)、美國(維吉尼亞)和德國(法蘭克福)地區,代碼部署套件的大小放開至500 MB,其餘地區的代碼部署套件大小限制為100 MB。
使用限制
Function Compute未接入配額中心的資源使用限制。如果現有資源不能滿足業務需求,並且確認表格中對應的資源項上限支援調整,可以通過提交工單或者加入DingTalk使用者群(群號:64970014484)與我們聯絡。
函數資源限制
限制項 | 資源上限 | 是否支援調整 |
單個函數最多支援配置NAS掛載點個數 | 5個 | 不支援 |
單個函數最多支援配置OSS掛載點個數 | 5個 | 不支援 |
單個執行個體並發度 | 1~200 | 不支援 |
函數運行資源限制
限制項 | 資源上限(CPU執行個體) | 資源上限(GPU執行個體) | 是否支援調整 |
臨時磁碟空間 | 10 GB | 60 GB | 不支援 |
檔案描述符 | 100000 | 100000 | 不支援 |
進程和線程總數 | 1024 | 1024 | 不支援 |
函數最大申請記憶體 | 32 GB | 32 GB | 不支援 |
函數最大已耗用時間 | 86400s | 86400s | 不支援 |
Initializer最大已耗用時間 | 300s | 300s | 不支援 |
PreStop最大已耗用時間 | 90s | 90s | 支援 |
函數同步調用請求本文承載大小 | 32 MB | 32 MB | 不支援 |
函數非同步呼叫請求本文承載大小 | 128 KB | 128 KB | 支援,最大支援調整到256 KB |
頻寬 | 1 Gbit/s~5 Gbit/s | 1 Gbit/s~5 Gbit/s | 不支援 |
單條日誌大小 | 32 KB | 32 KB | 不支援 |
代碼部署套件大小(通過SDK/API上傳,壓縮為ZIP並進行Base64編碼) | 100 MB | 不涉及 | 支援 |
上表中通過SDK上傳的ZIP包必須經過Base64編碼,編碼會造成原始程式碼封裝體積增大,另外,建立或更新函數時,除了程式碼封裝,請求body中還會包含函數配置在內的其他內容,因此,請確保Base64編碼後的程式碼封裝以及請求body中其他內容大小之和小於100 MB。
執行個體交付速度
資源項 | 資源上限 | 是否支援調整 |
執行個體交付速度 | 300個/分鐘 | 支援 |
觸發器限制
資源項 | 資源上限 | 是否支援調整 |
原生OSS觸發器單Bucket建立觸發器上限數 | 10個 | 不支援 |
如果原生OSS觸發器單Bucket建立觸發器上限數無法滿足您的需求,您可以使用EventBridge類別的OSS觸發器,支援單Bucket建立50個觸發器,您還可以向事件匯流排申請提升單個匯流排下事件規則數量配額,進一步提升單Bucket支援建立的觸發器個數。
層限制
限制項 | 資源上限(CPU執行個體) | 資源上限(GPU執行個體) | 是否支援調整 |
層大小 | 500 MB | 500 MB | 支援 |
層版本數量 | 100 | 100 | 不支援 |
單個函數的層的總大小 | 2 GB | 2 GB | 支援 |
單賬戶單地區資源限制
資源項 | 預設限制 | 是否支援調整 | |
GPU總卡數上限 | Tesla系列GPU卡數上限 | 10卡 | 支援 |
Ada.1系列GPU卡數上限 | 3卡 | ||
Ampere系列GPU卡數上限 | 3卡 | ||
其他GPU卡型 | 0卡 | ||
GPU卡數上限(隨請求彈性建立的執行個體佔用的卡數) | Tesla系列GPU卡數上限 | 3卡 | |
Ampere系列GPU卡數上限 | 3卡 | ||
其他GPU卡型 | 0卡 | ||
Function Compute訪問其他雲端服務或雲資源限制
如果您所在地區已開通Function Compute訪問VPC內的資源的功能,那麼您的函數調用其他雲端服務或雲資源時,會受到以下網路限制。
無法使用傳統網路下ECS的內網IP地址訪問其伺服器上的資源,例如Web服務或者檔案系統等。需要使用公網IP地址訪問,或者將伺服器上的資源遷移到VPC中。
無法使用傳統網路下RDS的內網IP地址訪問RDS,需要使用其公網IP地址訪問,或者將RDS遷移到VPC中。
無法使用雲端服務提供的內網Endpoint訪問雲端服務,需要使用雲端服務提供的VPC Endpoint或者公網Endpoint訪問。
單帳號各地區計算節點限制
調度服務為使用者提供邏輯核和記憶體計算節點,各地區的計算節點限制如下表所示。
通過池化提供計算節點總限制一半的核和記憶體突發能力,當池化資源耗盡時,調度服務將以一定的擴容速度擴容,超過限額時產生限流錯誤。例如,您需要600 vCPU和1200GB記憶體,前300 vCPU和600GB記憶體將通過池化快速擴容完成,後300 vCPU和600GB記憶體將以指定的擴容速度完成擴容。
地區 | CPU(vCPU) | 記憶體 (GB) | 擴容速度 |
華東1(杭州) | 600 | 1200 | 360 vCPU/分鐘、720GB/分鐘 |
華東2(上海) | 600 | 1200 | 360 vCPU/分鐘、720GB/分鐘 |
華北2(北京) | 600 | 1200 | 360 vCPU/分鐘、720GB/分鐘 |
華北3(張家口) | 600 | 1200 | 360 vCPU/分鐘、720GB/分鐘 |
華南1(深圳) | 600 | 1200 | 360 vCPU/分鐘、720GB/分鐘 |
中國香港 | 300 | 600 | 180 vCPU/分鐘、360GB/分鐘 |
新加坡 | 300 | 600 | 180 vCPU/分鐘、360GB/分鐘 |
美國(維吉尼亞) | 300 | 600 | 180 vCPU/分鐘、360GB/分鐘 |
華北1(青島) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
華北5(呼和浩特) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
西南1(成都) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
日本(東京) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
德國(法蘭克福) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
馬來西亞(吉隆坡) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
印尼(雅加達) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
美國(矽谷) | 100 | 200 | 60 vCPU/分鐘、120GB/分鐘 |
華北6(烏蘭察布) | 50 | 100 | 30 vCPU/分鐘、60GB/分鐘 |
泰國(曼穀) | 50 | 100 | 30 vCPU/分鐘、60GB/分鐘 |
英國(倫敦) | 50 | 100 | 30 vCPU/分鐘、60GB/分鐘 |
韓國(首爾) | 50 | 100 | 30 vCPU/分鐘、60GB/分鐘 |
沙特(利雅得) | 50 | 100 | 30 vCPU/分鐘、60GB/分鐘 |