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 申請提高配額:
- 前往 IAM 中的配額頁面,選擇您的 Remotion 專案。
- 選取每個 GCP 區域所需的「每個區域的實例限制」。
- 在右上角點擊「編輯配額」。
- 依照提示填寫申請表。
監控實例使用量
建議在 GCP 控制台中監控 Cloud Run 實例的使用情況,以優化成本和效能:
- 觀察高峰時段的實例數,確認是否需要提高最大限制
- 如果冷啟動延遲是問題,考慮增加最小實例數
- 使用 Cloud Monitoring 設定警示,在接近實例限制時收到通知
另請參閱
- Cloud Run 部署服務(CLI) - 包含
maxInstances和minInstances限制 - Cloud Run 部署服務(Node API) - 包含
maxInstances和minInstances限制 - GCP 關於最大實例限制的文件
- Cloud Run 限制
- Cloud Run 生產環境清單