本文介紹Function Compute在管理配額和服務資源、函數運行資源、觸發器、層、地區、鏡像大小等相關資源的使用限制。
本文內容旨在協助新手使用者避免在不瞭解函數原理時,因誤配或者代碼有誤而造成費用不可控的問題,例如迴圈調用、死迴圈等。
在該資源限制下,仍可能因為預留模式使用不當而造成費用突增。正確的使用方法,請參見執行個體模式。
您可以通過配額中心控制台查看Function Compute的配額額度。如果現有配額不能滿足業務需求可以在配額中心控制台申請調整配額。
重要配額中心僅允許一定範圍內申請配額,具體申請配額的範圍以配額中心為準。部分配額在規定範圍之外可通過工單申請進一步提升,當配額提升到上限後,配額中心會對這部分配額顯示可通過工單申請。
為了提高配額申請效率,在申請配額時,必須充分說明理由,按照申請理由中的引導文案,提供業務相關資訊,否則預設會被拒絕。
Function Compute相關資源的使用限制。如果現有資源不能滿足業務需求,並且確認表格中對應的資源限制支援調整,可以通過提交工單或者加入DingTalk使用者群(群號:64970014484)與我們聯絡。
管理配額
Function Compute已成功接入阿里雲配額中心,您可以通過配額中心控制台查看Function Compute的配額額度。配額中心的更多資訊,請參見什麼是配額中心。
在配額中心控制台,您可以管理以下Function Compute的配額。
配額名稱 | 描述 | 預設限制 |
執行個體上限 | 單個地區的執行個體數量上限 | 100個(以配額中心為準) |
GPU 卡數上限 說明 GPU執行個體包括Tesla系列和Ada系列的GPU執行個體。 | 在單地區的GPU物理卡卡數 | 10卡 |
執行個體交付速度 | 每秒執行個體交付個數 | 5個 |
使用限制
服務資源限制
限制項 | 資源上限 | 是否支援調整 |
單個服務下最大允許建立的函數個數 | 50個 | 支援 |
單個服務最多支援配置NAS掛載點個數 | 5個 | 不支援 |
單個服務最多支援配置OSS掛載點個數 | 5個 | 不支援 |
函數運行資源限制
限制項 | 資源上限(CPU執行個體) | 資源上限(GPU執行個體) | 是否支援調整 |
臨時磁碟空間 | 10 GB | 60 GB | 不支援 |
檔案描述符 | 100000 | 100000 | 不支援 |
進程和線程總數 | 1024 | 1024 | 不支援 |
函數最大申請記憶體 | 32 GB | 32 GB | 不支援 |
函數最大已耗用時間 | 86400s | 86400s | 不支援 |
Initializer最大已耗用時間 | 300s | 300s | 不支援 |
PreFreeze最大已耗用時間 | 90s | 90s | 支援 |
PreStop最大已耗用時間 | 90s | 90s | 支援 |
函數同步調用請求本文承載大小 | 32 MB | 32 MB | 不支援 |
函數非同步呼叫請求本文承載大小 | 128 KB | 128 KB | 不支援 |
代碼部署套件大小(通過SDK/OpenAPI上傳,壓縮為ZIP並進行Base64編碼) | 100 MB | 不涉及 | 支援 |
代碼部署套件大小(通過控制台、開發人員工具上傳或通過OSS指定程式碼封裝位置,壓縮為ZIP或JAR檔案) | 500 MB | 不涉及 | 支援 |
頻寬 | 1 Gbit/s~5 Gbit/s | 1 Gbit/s~5 Gbit/s | 不支援 |
單條日誌大小 | 32 KB | 32 KB | 不支援 |
代碼部署套件大小限制說明
在Function Compute中建立函數或更新函數時,需要上傳代碼部署套件,使用不同方式上傳時,程式碼封裝大小限制不同,詳細如下:
通過SDK/OpenAPI上傳的程式碼封裝
通過SDK上傳的程式碼封裝大小限制為100 MB。通過SDK上傳的ZIP包必須經過Base64編碼,編碼會造成原始程式碼封裝體積增大,另外,建立或更新函數時,除了程式碼封裝,請求body中還會包含函數配置在內的其他內容,因此,請確保Base64編碼後的程式碼封裝以及請求body中其他內容大小之和小於100 MB。
通過控制台、開發人員工具上傳或通過OSS指定程式碼封裝位置的程式碼封裝
在華東1(杭州)、華東2(上海)、華南1(深圳)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、中國香港、新加坡(新加坡)、日本(東京)、美國(維吉尼亞)和德國(法蘭克福)地區,代碼部署套件的大小放開至500 MB,其餘地區的代碼部署套件大小限制為100 MB。
觸發器限制
資源項 | 資源上限 | 是否支援調整 |
單個函數下最大允許建立的觸發器個數 | 50個 | 支援 |
原生OSS觸發器單Bucket建立觸發器上限數 | 10個 | 不支援 |
如果原生OSS觸發器單Bucket建立觸發器上限數無法滿足您的需求,您可以使用EventBridge類別的OSS觸發器,支援單Bucket建立50個觸發器,您還可以向事件匯流排申請提升單個匯流排下事件規則數量配額,進一步提升單Bucket支援建立的觸發器個數。
層限制
限制項 | 資源上限(CPU執行個體) | 資源上限(GPU執行個體) | 是否支援調整 |
層大小 | 500 MB | 500 MB | 支援 |
層版本數量 | 100 | 100 | 不支援 |
單個函數的層數量 | 5 | 5 | 支援 |
單個函數的層的總大小 | 2 GB | 2 GB | 支援 |
一個賬戶單個地區資源限制
資源項 | 資源上限 | 是否支援調整 |
單個執行個體並發度取值範圍 | 1~200 | 不支援 |
執行個體鏡像大小限制
執行個體類型 | 資源上限 | 是否支援調整 |
CPU鏡像大小限制 | 壓縮後10 GB(對應壓縮前docker鏡像約20 GB) | 支援 |
GPU鏡像大小限制 | 壓縮後15 GB(對應壓縮前docker鏡像約28 GB) | 支援 |
Function Compute訪問其他雲端服務或雲資源限制
如果您所在地區的Function Compute已經開通訪問VPC內的資源的功能,那麼您的函數調用其他雲端服務或雲資源時,會受到以下網路限制。
無法使用傳統網路下ECS的內網IP地址訪問其伺服器上的資源,例如Web服務或者檔案系統等。需要使用公網IP地址訪問,或者將伺服器上的資源遷移到VPC中。
無法使用傳統網路下RDS的內網IP地址訪問RDS,需要使用其公網IP地址訪問,或者將RDS遷移到VPC中。
無法使用雲端服務提供的內網Endpoint訪問雲端服務,需要使用雲端服務提供的VPC的Endpoint或者公網Endpoint訪問。