Check out what’s new from Firebase at Google I/O 2022. Learn more

配額和限制

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

Blaze 計劃免費提供大量的調用、計算時間和互聯網流量。但是,函數部署會對函數容器使用的存儲空間產生小額費用。有關詳細信息,請參閱 Firebase常見問題解答

Google Cloud Functions 的配額包括 3 個領域:

  • 資源限制

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

  • 時間限制

    這些會影響事情可以運行多長時間。

  • 速率限制

    這些會影響您可以調用 Cloud Functions API 的速率和/或可以使用資源的速率。您可以將費率配額視為“隨時間變化的資源”。

下面更詳細地描述了不同類型的限制。 Cloud Functions(第 1 代)和 Cloud Functions(第 2 代)的限制之間的差異會在適用的情況下註明。

資源限制

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

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

時間限制

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

速率限制

配額描述限制(第一代)限制(第 2 代)可以增加範圍
API 調用(閱讀)通過 Cloud Functions API 調用描述或列出函數每 100 秒 5000 個每 60 秒 1200僅適用於第一代每個項目(第一代)
每個地區(第 2 代)
API 調用 (WRITE)通過 Cloud Functions API 調用部署或刪除函數每 100 秒 80 個每 60 秒 60 個沒有1每個項目(第一代)
每個地區(第 2 代)
API 調用 (CALL)調用“調用”API每 100 秒 16 個不適用2號每個項目

可擴展性

HTTP 調用的 Cloud Functions 可快速擴展以處理傳入流量,而後台函數可逐漸擴展。函數的擴展能力取決於幾個因素,包括:

  • 完成函數執行所需的時間(短期運行的函數通常可以擴展以處理更多並發請求)。
  • 函數在冷啟動時初始化所需的時間
  • 速率限制,如上所述。
  • 您的函數的錯誤率。
  • 瞬態因素,例如區域負載和數據中心容量。
後台功能有額外的限制,如下所述。這些限制不適用於HTTP 函數

後台功能的額外配額

配額描述限制可以增加範圍
最大並發調用單個函數的最大並發調用次數
示例:如果處理每個事件需要 100 秒,則調用率將限制為平均每秒 30 次
3,000每個功能
最大調用率單個函數處理事件的最大速率
示例:如果處理一個事件需要 100 毫秒,即使平均只有 100 個請求被並行處理,調用率也會被限制為每秒 1000 個
每秒 1000 個每個功能
最大並發事件數據大小單個函數並發調用的傳入事件的最大總大小
示例:如果事件的大小為 1MB 並且處理它們需要 10 秒,則平均速率將為每秒 1 個事件,因為在前 10 個事件之一處理完成之前不會處理第 11 個事件
10MB每個功能
傳入事件的最大吞吐量單個函數的傳入事件的最大吞吐量
示例:如果事件的大小為 1MB,則調用率可以最大為每秒 10 次,即使函數在 100 毫秒內完成
每秒 10MB每個功能

當您達到配額限制時

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

要將配額增加到此處列出的默認值以上,請轉到Cloud Functions 配額頁面,選擇要修改的配額,單擊EDIT QUOTAS ,如果出現提示,請提供您的用戶信息,然後為您選擇的每個配額輸入新的配額限制。

Firebase CLI 部署的配額限制

對於 Firebase CLI 部署的每個函數,這些類型的速率和時間限制都會受到影響:

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

另請參閱Firebase CLI 參考