配額
本文說明 Cloud Run functions 的配額限制。
Cloud Run functions 設有 4 種配額限制:
資源限制
這些配額限制會影響函式可使用的總資源量。
時間限制
這些配額限制會影響作業執行時間。
頻率限制
這類限制會影響您可呼叫 Cloud Run functions API 來管理函式的頻率。
網路限制
這類限制會影響傳出連線和執行個體的數量上限。
以下將詳細說明各類限制。如果 Cloud Run functions (第 1 代) 和 Cloud Run 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。 |
否 | 每個事件 |
| 函式記憶體用量上限 | 每個函式執行個體可用的記憶體量 | 8 GiB | 32 GiB | 否 | 每個函式 |
| 專案記憶體用量上限 | 專案可用的記憶體量 (以位元組為單位),計算方式是加總各函式執行個體在 1 分鐘內,依使用者要求的記憶體總數。 | 視所選區域而定。高容量區域的上限可能較高,近期開放區域的上限可能較低。 | 不適用 | 是 | 每個專案和區域 |
| 專案 CPU 用量上限 | 專案可用的 CPU 數量 (以 m vCPU 為單位),計算方式是加總各函式執行個體在 1 分鐘內,依使用者要求的 CPU 總數。 | 視所選區域而定。高容量區域的上限可能較高,近期開放區域的上限可能較低。 | 不適用 | 是 | 每個專案和區域 |
時間限制
| 配額 | 說明 | 限制 (第 1 代) | 限制 (第 2 代) | 能否增加 | 範圍 |
|---|---|---|---|---|---|
| 函式持續時間上限 | 函式最多可執行多長時間,超過上限即會強制終止 | 540 秒 | HTTP 函式為 60 分鐘。 事件導向函式為 60 分鐘。 |
否 | 每次叫用 |
頻率限制
| 配額 | 說明 | 限制 (第 1 代) | 限制 (第 2 代) | 能否增加 | 範圍 |
|---|---|---|---|---|---|
| API 呼叫次數 (讀取) | 透過 Cloud Run functions API 描述或列出函式的呼叫次數 | 每 100 秒 5,000 次 | 每 60 秒 1,200 次 | 僅適用於第 1 代 | 每個專案 (第 1 代) 每個區域 (第 2 代) |
| API 呼叫次數 (寫入) | 透過 Cloud Run functions API 部署或刪除函式的呼叫次數 | 每 100 秒 80 次 | 每 60 秒 60 次 | 否1 | 每個專案 (第 1 代) 每個區域 (第 2 代) |
| API 呼叫次數 (CALL) | 呼叫「call」API 的次數 | 每 100 秒 16 次 | 不適用 | 否2 | 每項專案 |
網路限制
如要瞭解 Cloud Run functions (第 2 代) 的網路要求和頻寬限制,請參閱「網路限制」。
下列網路限制適用於 Cloud Run functions (第 1 代):
- 每個執行個體每秒的傳出連線數:500 (無法增加)
- 每個執行個體每秒的傳出 DNS 解析次數:100 (無法增加)
- 每個執行個體每秒封包數上限:80,000
- 每個執行個體每秒位元數上限:100,000,000
擴充性
透過 HTTP 叫用的 Cloud Run 函式會迅速擴充資源來處理傳入流量,背景函式的擴充速度則較慢。函式的擴充能力取決於幾個因素,包括:
- 函式執行作業完成所需的時間。一般來說,執行時間較短的函式可以擴充資源,處理更多並行要求。
- 函式在冷啟動下初始化所需的時間。
- 函式的錯誤率。
暫時性因素,例如區域性負載和資料中心運算資源。
背景函式的額外配額
| 配額 | 說明 | 限制 | 是否可增加 | 範圍 | 產品版本 |
|---|---|---|---|---|---|
| 並行叫用次數上限 | 單一函式的並行叫用次數上限 例如:如果處理每個事件需要 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 Run functions 配額頁面,選取要修改的配額項目,接著點選「Edit quotas」(編輯配額),再分別輸入所選各項配額的新上限。系統可能會要求您提供使用者資訊,請按照提示操作。