此頁面根據Blaze即用即付定價計劃詳細介紹了Cloud Functions的可擴展的,基於使用的限制。這些限制適用於將功能部署到Node.js 10運行時環境的Firebase項目。
Blaze計劃免費提供大量調用,計算時間和互聯網流量。但是,功能部署會為用於功能容器的存儲空間收取少量費用。有關更多信息,請參閱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參考。