跳至主要內容
CDelivery

資源限制

理解每副本的 CPU、內存預留與上限,以及它們對調度和更新的影響。

資源設定按每個副本生效。建立或編輯應用程式時,在資源設定中分別設定預留與限制;修改需要 Operator 或 Admin。

預留和限制

設定 作用
CPU 預留 調度時為副本考慮的 CPU 容量
內存預留 調度時為副本考慮的內存容量
CPU 限制 限制執行時可使用的 CPU 份額
內存限制 限制執行時可使用的內存,超出可能導致進程被終止

預留不是資源使用量的預測值,也不等同於執行時上限。限制過小會造成節流或內存不足;預留過大會讓副本找不到滿足條件的伺服器。

CPU 單位為核,例如 0.5 表示半個 CPU 核的容量。界面支援從 0.001 到 10000,精度為 0.001。內存按界面所選 MiB 或 GiB 填寫,注意不要把位元組與 MiB 混用。

設定示例

一個有兩個副本的 Web 應用程式,可以從以下值開始測量:

項目 每個副本
CPU 預留 0.5
CPU 限制 1
內存預留 256 MiB
內存限制 512 MiB

兩個副本合計需要考慮 1 核 CPU 和 512 MiB 內存預留;平台本身和其他應用程式還需要額外容量。這是說明計算方式的示例,不是適用於所有業務的推薦設定。

儲存後查看應用程式指標,根據正常負載及峰值修正設定。預留不應高於對應限制。

更新和擴容需要額外空間

使用先啟動新副本的更新策略時,新舊副本會暫時重疊,伺服器需要容納額外預留。自動擴容同樣受資源、標籤和每台伺服器副本上限約束。

CPU 限制也影響自動擴縮容對負載的解釋。未設定 CPU 限制時,不能按單核百分比理解所有副本的負載;詳見副本與自動擴縮容。

調整後的驗證

  1. 確認新副本能夠完成調度。
  2. 在代表性業務負載下觀察 CPU、內存和請求延遲。
  3. 對照應用程式日誌檢查是否發生內存不足、進程退出或重啟。
  4. 檢查同伺服器其他應用程式是否仍有足夠資源。

如果更新卡住,先檢查額外副本容量,再檢查標籤和每台伺服器的副本限制。不要僅提高期望副本數而忽略伺服器容量。

執行時資源限制的基礎行為可參考 Docker 資源約束說明。

輸入關鍵字搜尋…

↑↓ 移動↵ 選擇Esc 關閉