設定執行個體的 CPU 限制

本頁說明如何為每個 Cloud Run 執行個體指定要使用的 vCPU 數量。根據預設,Cloud Run 容器執行個體最多只能使用 2 個 vCPU。您可以按照本頁說明增加或減少這個值。

設定及更新 vCPU 限制

根據預設,每個執行個體都會設為 2 個 vCPU 和 2 GiB 的記憶體。您可以將該值變更為下表顯示的任何值。

並行數無法設定,一律為 80。

vCPU 和記憶體表格

以下是 vCPU 的記憶體需求:

CPU 所需記憶體
1 個 vCPU 512 MiB 至 4 GiB
2 個 vCPU 512 MiB 至 8 GiB
4 個 vCPU 2 至 16 GiB
6 個 vCPU 4 至 24 GiB
8 個 vCPU 4 至 32 GiB

如果值大於 1,則必須是整數值。

vCPU 數量上限

您最多可以設定 8 個 vCPU。

vCPU 數量下限

執行個體的 vCPU 數量下限為 1 個。雖然每個容器都可以設定部分 CPU,但執行個體中所有容器的 CPU 總數必須大於或等於 1 個 vCPU。

費用注意事項

Cloud Run 資源的費用會受到 CPU 設定和資源啟用時間長度等因素影響。資源過度佈建可能會導致費用增加。如要判斷最適合資源的 CPU 設定,請按照下列步驟操作:

  1. 為 CPU 限制建立初始基準設定,以平衡 CPU 使用率和成本。
  2. 在測試系統負載時,請在 Cloud Monitoring 中監控 CPU 使用率指標。
  3. 視需要調整 CPU 設定。

如果 CPU 使用率在尖峰負載下持續偏低,請考慮減少 vCPU 分配量。如果延遲時間較長,請考慮增加 vCPU 分配量。

您可以在 Cloud Hub 最佳化頁面上,查看資源的費用資料、使用率資料和成本最佳化建議。詳情請參閱 Cloud Run 定價,或使用定價計算機估算費用。

CPU 爆發和節流

Cloud Run 執行個體會使用共用 CPU 配置模型,其中包含基準配額和爆量功能,管理方式與 Linux 排程器 cgroup 配置類似。

為 Cloud Run 執行個體設定 vCPU 限制時,CPU 行為會包含下列機制:

  • 基本配額:系統會為每個已設定的 vCPU 持續分配 6.25% (1/16) 的基本配額。您可以在這個基準內無限期執行執行個體。
  • 突發容量:當執行個體的執行容量低於基準容量時,系統會持續將未使用的 CPU 時間累計到突發平衡預算中 (最多 500 秒)。當工作負載觸發須耗用大量運算資源的工作時,執行個體會自動爆量,直到累積的爆量餘額用盡為止,最高可達設定的 vCPU 分配量 100%。
  • 節流:CPU 使用率偏高時,一旦爆量額度用盡,執行個體就會節流回基準配額 (每個設定的 vCPU 為 6.25%),直到累積額外爆量額度為止。
  • 補充:只要 CPU 使用率低於 6.25% 的基準,爆量預算就會補充。

必要的角色

如要取得設定及部署 Cloud Run 執行個體所需的權限,請要求管理員授予您下列 IAM 角色:

如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 執行個體與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。 如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

設定 CPU 限制

您可以使用 Google Cloud CLI 或 YAML,為 Cloud Run 執行個體設定 CPU 限制:

gcloud

您可以使用下列指令,更新特定執行個體的 CPU 限制

gcloud beta run instances update INSTANCE --cpu CPU

更改下列內容:

  • INSTANCE:執行個體的名稱。
  • CPU:CPU 上限。請按照「CPU 和記憶體」表格中的規定,指定 12468 個 CPU。

您也可以在部署期間,使用以下指令設定 CPU:

gcloud beta run instances deploy --image IMAGE_URL --cpu CPU

更改下列內容:

  • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest
  • CPU:值為 12468 CPU, 符合「CPU 和記憶體」表格中顯示的需求。

YAML

  1. 如果您要建立新執行個體,請略過這個步驟。 如要更新現有執行個體,請下載其 YAML 設定

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 以下範例包含 YAML 設定:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
    image: IMAGE_URL
      resources:
        limits:
          cpu: `CPU`

    更改下列內容:

    • INSTANCE:Cloud Run 執行個體的名稱。
    • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest
    • CPU:CPU 限制值。 指定 12468 個 CPU 的值,或指定小於 1 個 CPU 的值 (0.08 到小於 1.00),並以 0.01 為單位遞增。(如需必要設定,請參閱「設定及更新 CPU 限制」一節下方的表格)。
  3. 使用下列指令建立或更新執行個體:

    gcloud beta run instances replace instance.yaml

範例情境:2 個 vCPU 的執行個體

如果執行個體設定的 vCPU 上限為 2 個:

  1. 基準運作:執行個體可持續運作,最多消耗 0.125 個 vCPU (2 個 vCPU 的 6.25%)。在這種基準下運作時,系統會累積爆量餘額。
  2. 全力爆發:當工作負載需要額外處理能力時,執行個體會爆發至 2 個 vCPU (100% 使用率),並消耗累積的爆發預算。
  3. 節流:爆發餘額用盡時,執行個體會節流回 0.125 個 vCPU 的基準,直到累積新的爆發餘額為止。

查看執行個體的 CPU 設定

您可以使用 Google Cloud CLI 指令 gcloud beta run instances describe 查看設定詳細資料。