Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now

配額和限制

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

Blaze計劃免費提供大量調用,計算時間和Internet流量。但是,功能部署會招致用於功能容器的存儲空間的小規模費用。有關更多信息,請參閱Firebase常見問題解答

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

  • 資源限制

    這些會影響您的功能可以使用的資源總量。

  • 時間限制

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

  • 速率限制

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

限制的不同類型將在下面更詳細地說明。

資源限制

資源限制會影響您的功能可以使用的資源總量。區域範圍是每個項目的範圍,每個項目都有自己的限制。

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

時間限制

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

速率限制

配額描述限制可以增加範圍
API調用(讀取)通過Cloud Functions API調用以描述或列出函數每100秒5000是的每個項目
API調用(寫)通過Cloud Functions API調用以部署或刪除函數每100秒80 1號每個項目
API調用(調用)調用“調用” API每100秒16 2號每個項目

可擴展性

HTTP調用的Cloud Functions可以迅速擴展以處理傳入流量,而後台功能則可以逐步擴展。一個功能的擴展能力由幾個因素決定,包括:

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

後台功能的其他配額

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

達到配額限制時

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

要將配額增加到此處列出的默認值以上,請轉到“ 雲功能配額”頁面,選擇要修改的配額,單擊“編輯配額” ,在出現提示時提供用戶信息,然後為所選的每個配額輸入新的配額限制。

Firebase CLI部署的配額限制

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

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

另請參閱Firebase CLI參考