配額與限制

本頁面詳細說明 Cloud Functions 根據 Blaze 即付即用定價方案的可彈性用量限制。這些限制適用於將函式部署至 Node.js 10 執行階段環境的 Firebase 專案。

Blaze 方案免費提供大量叫用、運算時間和網際網路流量。不過,函式部署會產生少量函式容器使用的儲存空間費用。詳情請參閱 Firebase 常見問題

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

  • 資源限制

    這些配額限制會影響函式可使用的總資源量。

  • 時間限制

    這些配額限制會影響作業執行時間。

  • 頻率限制

    這些限制會影響您可呼叫 Cloud Functions API 管理函式的頻率。

以下將詳細說明不同類型的限制。在適用情況下,我們會指出 Cloud Functions (第 1 代) 和 Cloud Functions (第 2 代) 的限制差異。

資源限制

資源限制會影響函式可使用的資源總量。區域範圍以專案為單位,每項專案都有各自的限制。

配額 說明 限制 (第 1 代) 上限 (第 2 代) 是否可增加 範圍
函式數量 每個區域可部署的函式總數 1,000 1,000 減去部署的 Cloud Run 服務數量 每個區域
部署作業大小上限 單一函式部署作業的大小上限 來源為 100 MB (經過壓縮)。
來源加模組為 500 MB (未經壓縮)。
不適用 每個函式
未壓縮的 HTTP 要求大小上限 在一項 HTTP 要求中,傳送至 HTTP 函式的資料量 10 MB 32 MB 每次叫用
未壓縮的 HTTP 回應大小上限 在一項 HTTP 回應中,HTTP 函式傳出的資料量 10 MB 串流回應的大小為 10 MB。
非串流回應:32 MB。
每次叫用
事件導向函式的事件大小上限 在事件中傳送至背景函式的資料量 10 MB Eventarc 事件為 512 KB。
舊版事件為 10 MB。
每個事件
函式記憶體用量上限 每個函式執行個體可以使用的記憶體量 8GiB 32GiB 每個函式

時間限制

配額 說明 限制 (第 1 代) 上限 (第 2 代) 是否可增加 範圍
函式持續時間上限 函式在強制終止前可執行的時間長度上限 540 秒 HTTP 函式為 60 分鐘。
9 分鐘代表事件導向函式。
每次叫用

頻率限制

配額 說明 限制 (第 1 代) 上限 (第 2 代) 是否可增加 範圍
API 呼叫次數 (讀取) 透過 Cloud Functions API 描述或列出函式的呼叫次數。 每 100 秒 5,000 次 每 60 秒 1200 次 僅適用於第 1 代 每個區域每項專案 (第 1 代)
(第 2 代)
API 呼叫次數 (寫入) 透過 Cloud Functions API 部署或刪除函式的呼叫次數。 每 100 秒 80 次 每 60 秒 60 次 1 每個區域每項專案 (第 1 代)
(第 2 代)
API 呼叫次數 (呼叫) 呼叫「call」API 的次數 每 100 秒 16 次 不適用 2 每項專案

擴充性

透過 HTTP 叫用的 Cloud Functions 會迅速擴充運算能力來處理傳入的流量,背景函式擴充的速度則較慢。函式的擴充能力取決於幾個因素,包括:

  • 函式執行作業完成所需的時間。一般來說,執行時間較短的函式可以擴充運算能力,以處理更多並行要求。
  • 函式在冷啟動情況下初始化所需的時間。
  • 函式的錯誤率。
  • 暫時性因素,例如區域負載和資料中心的容量。

背景函式適用以下額外限制。這些限制不適用於第 1 代 HTTP 函式

背景函式的額外配額

配額 說明 限制 是否可增加 內容範圍 產品版本
並行叫用次數上限 單一函式的並行叫用次數上限
例如:如果處理每個事件需要 100 秒,則平均叫用頻率上限為每秒 30 次
3,000 每個函式 僅限第 1 代
叫用頻率上限 單一函式處理事件的頻率上限
例如:如果處理一個事件需要 100 毫秒,即使平均只需同時處理 100 個要求,叫用頻率上限仍為每秒 1,000 次
每秒 1,000 次 每個函式 僅限第 1 代
並行事件資料大小上限 並行叫用單一函式的連入事件總大小上限
例如:假設事件大小均為 1 MB,且處理它們需要 10 秒,則平均頻率為每秒 1 個事件。因為系統必須等到前 10 個事件中的任一事件處理完畢後,才會開始處理第 11 個事件
10 MB 每個函式 第 1 代和第 2 代
連入事件的總處理量上限 單一函式連入事件的總處理量上限
例如:如果事件大小為 1 MB,則叫用頻率上限為每秒 10 次 (即使函式可在 100 毫秒內完成也一樣)
每秒 10 MB 每個函式 第 1 代和第 2 代

達到配額限制後會出現什麼情況

如果特定函式耗盡了系統分配的某項資源,那麼在配額獲得補充或增加前,此項資源都無法再使用。這段期間內,該函式和同一項專案中的所有其他函式可能無法正常運作。如果某項資源超過配額並導致函式無法正常運作,該函式會傳回 HTTP 500 錯誤代碼。

如果需要的配額超過本頁所列的預設值,您可以要求增加配額,方法是前往 Cloud Functions 配額頁面選取要修改的配額項目,接著按一下 [編輯配額],然後針對您選取的各項配額輸入新的上限。系統可能會要求您提供使用者資訊,這時請按照提示訊息中的指示操作。

Firebase CLI 部署作業的配額限制

對於 Firebase CLI 部署的每個函式,以下類型的頻率和時間限制都會受到影響:

  • API 呼叫 (READ) - 每個部署作業 1 次呼叫,無論函式數量為何
    • 上限:每 100 秒 5,000 次
  • API 呼叫 (寫入) - 每個函式 1 次呼叫
    • 上限:每 100 秒 80 次

另請參閱 Firebase CLI 參考資料