了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

配額和限制

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

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

Google Cloud Functions 的配額包括 3 個方面:

  • 資源限制

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

  • 時間限制

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

  • 速率限制

    這些會影響您調用 Cloud Functions API 來管理函數的速度。

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

資源限制

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

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

時間限制

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

速率限制

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

可擴展性

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

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

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

後台功能的額外配額

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

當您達到配額限制時

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

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

Firebase CLI 部署的配額限制

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

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

另請參閱Firebase CLI 參考