Remotion LabRemotion Lab
Cloud RunCloud Run 實例數

Cloud Run 實例數

說明 Remotion Cloud Run 如何依需求擴縮容,以及如何設定最小和最大實例數以控制成本和效能。

Cloud Run 實例數

實驗性功能:Cloud Run 目前處於 Alpha 狀態,並未積極開發中。

Remotion Cloud Run 會依據對服務發出的請求數量自動擴縮容。預設情況下,Remotion 服務沒有並發功能。這意味著每個實例只會進行一次渲染。當有另一個請求進來時,GCP 會啟動另一個 Cloud Run 實例來執行該渲染。

最小實例數

預設情況下,Cloud Run 服務的最小實例數設為 0。這樣的好處是可以縮容至零,因此如果沒有使用者請求您的服務,您不會被計費。您可以增加最小實例數,讓渲染能更快速地啟動,但這只會消除最小限制數量以內的同時渲染的冷啟動時間。

警告:任何正在運行的實例,即使它們沒有執行渲染,都會在 GCP 中計費。預設的最小實例數為零,這意味著當沒有請求發送到您的服務時,您不會被計費。

最小實例數的取捨

最小實例數優點缺點
0(預設)無閒置費用,自動縮容至零冷啟動延遲(可能數秒)
1 或更多減少冷啟動延遲,第一個請求更快閒置實例仍會計費

最大實例數

這是可同時建立的最大實例數,預設值為 100。GCP 中可設定的最大值也是 100——有關限制的更多資訊請參閱此處。若超過最大實例數,後續請求將以 503 服務不可用 回應失敗。GCP 提供 Cloud Tasks 來排隊請求,可與 Cloud Run 結合使用

提示:您可能希望為產品的某些層級提供較低的最大實例限制,而為較高層級計劃提供較高的實例限制。這可以透過部署多個 Cloud Run 服務並在產品中依需求呼叫它們來實現。

設定實例限制

您可以在部署服務時設定最小和最大實例數:

使用 CLI

npx remotion cloudrun services deploy \
  --min-instances=0 \
  --max-instances=50

使用 Node.JS API

import { deployService } from "@remotion/cloudrun";
 
const deployResult = await deployService({
  projectID: "my-remotion-project",
  region: "us-east1",
  minInstances: 0,
  maxInstances: 50,
});

申請更高的配額限制

如果 100 個實例不能滿足您的需求,您可以向 GCP 申請提高配額:

  1. 前往 IAM 中的配額頁面,選擇您的 Remotion 專案。
  2. 選取每個 GCP 區域所需的「每個區域的實例限制」。
  3. 在右上角點擊「編輯配額」。
  4. 依照提示填寫申請表。

監控實例使用量

建議在 GCP 控制台中監控 Cloud Run 實例的使用情況,以優化成本和效能:

  • 觀察高峰時段的實例數,確認是否需要提高最大限制
  • 如果冷啟動延遲是問題,考慮增加最小實例數
  • 使用 Cloud Monitoring 設定警示,在接近實例限制時收到通知

另請參閱