本頁說明如何為每個 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 設定,請按照下列步驟操作:
- 為 CPU 限制建立初始基準設定,以平衡 CPU 使用率和成本。
- 在測試系統負載時,請在 Cloud Monitoring 中監控 CPU 使用率指標。
- 視需要調整 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 執行個體上的 Cloud Run 開發人員 (
roles/run.developer) - 服務身分上的服務帳戶使用者 (
roles/iam.serviceAccountUser)
如需與 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 和記憶體」表格中的規定,指定
1、2、4、6或8個 CPU。
您也可以在部署期間,使用以下指令設定 CPU:
gcloud beta run instances deploy --image IMAGE_URL --cpu CPU
更改下列內容:
IMAGE_URL:容器映像檔的參照,例如us-docker.pkg.dev/cloudrun/container/hello:latest。- CPU:值為
1、2、4、6或8CPU, 符合「CPU 和記憶體」表格中顯示的需求。
YAML
如果您要建立新執行個體,請略過這個步驟。 如要更新現有執行個體,請下載其 YAML 設定:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
以下範例包含 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 限制值。
指定
1、2、4、6或8個 CPU 的值,或指定小於 1 個 CPU 的值 (0.08 到小於 1.00),並以 0.01 為單位遞增。(如需必要設定,請參閱「設定及更新 CPU 限制」一節下方的表格)。
使用下列指令建立或更新執行個體:
gcloud beta run instances replace instance.yaml
範例情境:2 個 vCPU 的執行個體
如果執行個體設定的 vCPU 上限為 2 個:
- 基準運作:執行個體可持續運作,最多消耗 0.125 個 vCPU (2 個 vCPU 的 6.25%)。在這種基準下運作時,系統會累積爆量餘額。
- 全力爆發:當工作負載需要額外處理能力時,執行個體會爆發至 2 個 vCPU (100% 使用率),並消耗累積的爆發預算。
- 節流:爆發餘額用盡時,執行個體會節流回 0.125 個 vCPU 的基準,直到累積新的爆發餘額為止。
查看執行個體的 CPU 設定
您可以使用 Google Cloud CLI 指令 gcloud beta run instances describe 查看設定詳細資料。