本文介紹Function Compute在服務資源、函數運行資源、觸發器、層、地區、鏡像大小及GPU卡數等相關資源的使用限制。
本文內容旨在協助新手使用者避免在不瞭解函數原理時,因誤配或者代碼有誤而造成費用不可控的問題,例如迴圈調用、死迴圈等。如果您已清楚函數原理,同時有真實業務需求要求放寬資源限制,並且確認表格中對應的資源限制支援調整,請加入DingTalk使用者群(DingTalk群號64970014484)諮詢。
在該資源限制下,仍可能因為預留模式使用不當而造成費用突增。正確的使用方法,請參見執行個體類型及使用模式。
函數資源限制
限制項 | 資源上限 | 是否支援調整 |
單個函數下最大允許建立的觸發器個數 | 50個 | 支援 |
單個函數最多支援配置NAS掛載點個數 | 5個 | 不支援 |
單個函數最多支援配置OSS掛載點個數 | 5個 | 不支援 |
函數運行資源限制
限制項 | 資源上限(CPU執行個體) | 資源上限(GPU執行個體) | 是否支援調整 |
臨時磁碟空間 | 10 GB | 10 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 | 不支援 |
代碼部署套件大小(通過SDK/OpenAPI上傳,壓縮為ZIP並進行Base64編碼) | 100 MB | 不涉及 | 支援 |
代碼部署套件大小(通過控制台、開發人員工具上傳或通過OSS指定程式碼封裝位置,壓縮為ZIP或JAR檔案) | 500 MB | 不涉及 | 支援 |
鏡像大小(未解壓前) | 10 GB | 15 GB | 支援 |
頻寬 | 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。
觸發器限制
資源項 | 資源上限 | 是否支援調整 |
原生OSS觸發器單Bucket建立觸發器上限數 | 10個 | 不支援 |
EventBridge類別的OSS觸發器單Bucket建立觸發器上限數 | 50個 | 支援 |
層限制
限制項 | 資源上限(CPU執行個體) | 資源上限(GPU執行個體) | 是否支援調整 |
層大小 | 500 MB | 500 MB | 支援 |
層版本數量 | 100 | 100 | 支援 |
單個函數的層數量 | 5 | 5 | 支援 |
單個函數的層的總大小 | 2 GB | 2 GB | 支援 |
一個賬戶單個地區資源限制
資源項 | 資源上限 | 是否支援調整 |
執行個體上限 | 300個 | 支援 |
單個執行個體並發度取值範圍 | 1~200 | 不支援 |
執行個體鏡像大小限制
執行個體類型 | 資源上限 | 是否支援調整 |
CPU鏡像大小限制 | 壓縮後10 GB(對應壓縮前docker鏡像約20 GB) | 支援 |
GPU鏡像大小限制 | 壓縮後15 GB(對應壓縮前docker鏡像約28 GB) | 支援 |
GPU卡數限制
資源項 | 資源上限 | 是否支援調整 |
在單地區的GPU物理卡卡數 說明 GPU執行個體包括Tesla系列、Ampere系列和Ada系列的GPU執行個體。 | 30卡 | 支援 |
Function Compute訪問其他雲端服務或雲資源限制
如果您所在地區已開通Function Compute訪問VPC內的資源的功能,那麼您的函數調用其他雲端服務或雲資源時,會受到以下網路限制。
無法使用傳統網路下ECS的內網IP地址訪問其伺服器上的資源,例如Web服務或者檔案系統等。需要使用公網IP地址訪問,或者將伺服器上的資源遷移到VPC中。
無法使用傳統網路下RDS的內網IP地址訪問RDS,需要使用其公網IP地址訪問,或者將RDS遷移到VPC中。
無法使用雲端服務提供的內網Endpoint訪問雲端服務,需要使用雲端服務提供的VPC Endpoint或者公網Endpoint訪問。