Catch up on everthing we announced at this year's Firebase Summit. Learn more

配額和限制

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

Blaze 計劃免費提供大量調用、計算時間和互聯網流量。但是,函數部署會產生用於函數容器的存儲空間的小規模費用。見火力地堡常見問題以獲取更多信息。

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

  • 資源限制

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

  • 時間限制

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

  • 速率限制

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

下面更詳細地描述了不同類型的限制。

資源限制

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

配額描述限制可以增加範圍
功能數量每個區域可以部署的功能總數1,000每個地區
最大部署大小單個功能部署的最大大小100MB(壓縮)用於源。
500MB(未壓縮)用於源和模塊。
每個功能
最大未壓縮的 HTTP 請求大小在 HTTP 請求中發送到 HTTP 函數的數據10MB每次調用
最大未壓縮的 HTTP 響應大小在 HTTP 響應中從 HTTP 函數發送的數據10MB每次調用
後台功能的最大事件大小在事件中發送到後台函數的數據10MB每個事件
最大功能記憶每個函數實例可以使用的內存量8192MB每個功能

時間限制

配額描述限制可以增加範圍
最大功能持續時間函數在強制終止之前可以運行的最長時間540 秒每次調用

速率限制

配額描述限制可以增加範圍
API 調用(讀取)通過 Cloud Functions API 調用描述或列出函數每 100 秒 5000是的每個項目
API 調用(寫入)通過 Cloud Functions API 調用部署或刪除函數每 100 秒 801每個項目
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 錯誤代碼。

為了增加這裡列出的默認上述配額,到雲功能配額頁面,選擇您要修改的配額,單擊編輯配額,如果系統提示輸入您的用戶信息,並輸入您選擇的每個配額新的配額限制。

Firebase CLI 部署的配額限制

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

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

又見火力地堡CLI參考