配額與限制

本頁詳細介紹了根據 Blaze 即用即付定價計劃對 Cloud Functions 的可擴展、基於使用的限制。這些限制適用於將函數部署到 Node.js 10 運行時環境的 Firebase 專案。

Blaze 計劃免費提供大量的呼叫、運算時間和網路流量。但是,函數部署會對函數容器所使用的儲存空間產生小規模費用。請參閱 Firebase常見問題以了解更多資訊。

Google Cloud Functions 的配額涵蓋 3 個領域:

  • 資源限制

    這些會影響您的函數可以消耗的資源總量。

  • 時間限制

    這些會影響事物可以運作的時間。

  • 速率限制

    這些會影響您呼叫 Cloud Functions API 來管理函數的速率。

下面更詳細地描述了不同類型的限制。如果適用,會註明 Cloud Functions(第一代)和 Cloud Functions(第二代)限制之間的差異。

資源限制

資源限制會影響您的函數可以消耗的資源總量。區域範圍是每個項目的,每個項目都有自己的限制。

配額描述限制(第一代)極限(第二代)可以增加範圍
功能數量每個區域可部署的功能總數1,000 1,000 減去部署的 Cloud Run 服務數量每個區域
最大部署規模單一功能部署最大規模來源檔案大小為 100MB(壓縮)。
源加模組 500MB(未壓縮)。
不適用每個功能
最大未壓縮 HTTP 請求大小在 HTTP 請求中傳送到 HTTP 函數的數據10MB 32MB每次調用
最大未壓縮 HTTP 回應大小HTTP 回應中從 HTTP 函數傳送的數據10MB 10MB 用於串流回應。
32MB 用於非串流響應。
每次調用
事件驅動函數的最大事件大小事件中的資料傳送到後台函數10MB Eventarc 事件為 512KB。
10MB 用於遺留事件。
每個事件
最大功能記憶體每個函數實例可以使用的記憶體量8GiB 32GiB每個功能

時間限制

配額描述限制(第一代)極限(第二代)可以增加範圍
最長功能持續時間函數在強制終止之前可以運行的最長時間540秒HTTP 函數需要 60 分鐘。
事件驅動函數需要 9 分鐘。
每次調用

速率限制

配額描述限制(第一代)極限(第二代)可以增加範圍
API 呼叫(讀)透過 Cloud Functions API 呼叫描述或列出函數每 100 秒 5000每 60 秒 1200僅適用於第一代每個項目(第一代)
每個區域(第二代)
API 呼叫(寫入)透過 Cloud Functions API 呼叫部署或刪除函數每 100 秒 80每 60 秒 60 1每個項目(第一代)
每個區域(第二代)
API呼叫(CALL)呼叫“call”API每 100 秒 16 個不適用2每個項目

可擴展性

HTTP 呼叫的雲端函數可以快速擴展以處理傳入流量,而後台函數則可以逐漸擴展。函數的擴展能力取決於幾個因素,包括:

  • 函數執行完成所需的時間(短時間運行的函數通常可以擴展以處理更多並發請求)。
  • 函數在冷啟動時初始化所需的時間。
  • 您的函數的錯誤率。
  • 瞬態因素,例如區域負載和資料中心容量。

後台函數有額外的限制,如下所述。這些限制不適用於第一代HTTP 函數

後台功能的額外配額

配額描述限制可以增加範圍產品版本
最大並發呼叫數單一函數最大並發呼叫數
範例:如果處理每個事件需要 100 秒,則呼叫率將被限制為平均每秒 30 次
3,000是的每個功能僅第一代
最大呼叫率單一函數處理事件的最大速率
範例:如果處理一個事件需要 100 毫秒,即使平均僅並行處理 100 個請求,呼叫率也將限制為每秒 1000 個
每秒 1000 個每個功能僅第一代
最大並發事件資料大小單一函數並發呼叫的傳入事件的最大總大小
範例:如果事件大小為 1MB 並且處理它們需要 10 秒,則平均速率將為每秒 1 個事件,因為只有在處理前 10 個事件之一完成後才會處理第 11 個事件
10MB每個功能第一代和第二代
傳入事件的最大吞吐量單一函數傳入事件的最大吞吐量
範例:如果事件大小為 1MB,則呼叫率最大可達每秒 10 個,即使函數在 100 毫秒內完成也是如此
每秒 10MB每個功能第一代和第二代

當您達到配額限制時

當某個函數消耗了所有分配的資源時,該資源將變得不可用,直到刷新或增加配額為止。這可能意味著您的函數和同一專案中的所有其他函數在此之前都將無法運作。當其中一項資源超出配額且函數無法執行時,函數會傳回 HTTP 500 錯誤代碼。

要將配額增加到此處列出的預設值以上,請前往Cloud Functions 配額頁面,選擇要修改的配額,按一下編輯配額,根據提示提供您的用戶信息,然後為您選擇的每個配額輸入新的配額限制。

Firebase CLI 部署的配額限制

對於 Firebase CLI 部署的每個功能,以下類型的速率和時間限制會受到影響:

  • API 調用 (READ) - 每次部署 1 次調用,無論有多少功能
    • 限制:每 100 秒 5000
  • API 呼叫(寫入)- 每個函數 1 次調用
    • 限制:每 100 秒 80

另請參閱 Firebase CLI 參考