Azure Batch 的容量規劃

有效的容量規劃有助於確保您的 Azure Batch 工作負載在需要時擁有所需的運算資源。 本文說明批次容量的結構、如何規劃工作負載配額,以及如何降低分配失敗的風險。

配額是一種限制,不是容量保證。 提前規劃有助於你申請適當的配額,選擇彈性配置,並在容量受限時優雅地應對。 關於具體的預設值與最大值,請參見 批次服務配額與限制。

確認 Batch 是否符合你的工作量

當您希望 Azure 以服務形式提供排程,且您的應用程式能將工作負載組織成集區、作業和工作時,請使用 Batch。 在規劃批次容量前,請考慮以下選項:

  • 當你需要操作特定的 HPC 排程器、自訂叢集拓撲與軟體堆疊,或與現有本地工作流程緊密對齊時,請選擇 Azure CycleCloud。
  • 當您希望擁有即可部署的 Slurm 環境,並在訂閱中配置網路、儲存與存取元件時,請選擇 Azure CycleCloud Workspace for Slurm。

如果批次作業是合適的操作模式,請利用以下章節估算尖峰需求、選擇虛擬機、計算配額,並在建立生產池前定義備用方案。

容量階層

批次容量受多個層級控制,每層限制其下一層。 您的有效容量取決於鏈結中最嚴格限制所允許的容量。

最上層的 Azure 區域提供每個虛擬機家族可用的實體資料中心容量。 區域容量不是你能控制的固定數值;它會隨時間和 VM 系列而異。 你的 訂閱配額 會設定每個虛擬機家族在每個區域允許的核心限制。 在 用戶訂閱池分配模式下,這些訂閱配額會直接套用到你的批次池。 批次帳號配額設定每個批次帳號允許的核心、池數和活躍工作。 在 批次服務池分配模式下,這些帳號層級配額會適用。 最後, 池上限 會根據池子上方的配額及批次服務設定的 池大小限制 ,限制每個池的節點數。

了解哪一層適用於你的帳戶,取決於你的池分配模式。 欲了解更多資訊,請參閱 批次帳戶與池分配模式。

規劃你的容量需求

在建立生產池之前,先估算你的工作負載所需的資源。 透過以下問題,將工作量特性轉化為配額請求:

  • 工作量概況。 同時進行的工作和任務數量最高是多少? 平均任務長度和記憶體需求是多少? 任務需要 GPU 還是多節點(MPI)協調?
  • 虛擬機選擇。 哪 個虛擬機家族和大小 最適合工作負載? 每個虛擬機提供多少核心和多少記憶體?
  • 泳池尺寸。 每個節點同時執行多少任務(最多可達節點核心數量的四倍,且每個節點最多 256 個任務槽)? 考慮到同時工作數量的高峰,你需要多少節點? 你如何在專用節點和 Spot 節點之間分配容量?
  • 配額要求。 將最大節點數乘以每台虛擬機的核心數,即可得到所需的總核心數。 將這個總額與你目前的配額做比較,以決定申請的增加幅度。
  • 成本估算。 利用 VM 的時薪和預期運行時間來估算每日和每月的成本。 欲了解更多資訊,請參閱「Azure Batch 成本管理計畫」。

若要查詢目前配額並申請增加,請參閱 「查看批次配額 」及 「增加配額」。 提前很久提交配額申請,並從適度、漸進式的增加開始。 大幅增加配額可能需要人工審核,且可能需要數天到數週時間。

主動管理容量

在容量成為限制之前,先做好規劃:

  • 監控配額使用情況。 追蹤核心用量對照您的配額,並在用量接近上限時發出警示,例如在 70–80% 時。 欲了解更多資訊,請參閱 監控批次解決方案。
  • 使用自動縮放功能。 設定 自動縮放 ,讓池子隨著需求成長或縮小,而不是固定且過度配置的節點數量。 常見模式是維持專用節點的基線以確保進度,並突發至定點節點以提升吞吐量。
  • 分散於各區域和各帳戶。 將工作負載分散到多個區域或批次帳號,以存取更多總體容量。 作用中作業和集區等服務配額會套用至每個不同的 Batch 帳戶。

因應容量限制

即使有規劃,你也可能遇到配置失敗。 設計你的工作流程以具備韌性:

  • 重試並多方嘗試。 如果池子無法達到目標大小,幾分鐘後再試、換個虛擬機大小或換個區域。 資源的可用性會隨時間改變。
  • 重新指定作業目標。 避免只依賴單一靜態池。 確保您可以將作業重新設定為以不同集區為目標,如果集區無法成長,可能需要使用不同的 VM 大小。 欲了解更多資訊,請參閱 Azure Batch 最佳實務。
  • 建置時應考量 Spot 搶占。當 Azure 需要收回容量時,Spot 節點可能會被搶占。 只用 Spot 節點做容錯工作,並搭配專用節點和自動擴展,讓池子自動恢復。

關於分配和配額錯誤的詳細症狀、原因及解決方法,請參閱故障排除指引:

在生產前驗證產能

使用具代表性的作業、其預期資料量及生產集區組態來執行概念驗證。 在你能為每項準則記錄證據之前,不要核准該設計投入生產:

Criterion 可記錄的證據
工作負載完成 此作業在具備生產工作相依性、應用程式套件,以及輸入和輸出資料路徑的情況下,能夠正確完成。
規模與配額 集區會在目標區域中達到所需節點數,且不會超過 Batch 帳戶、訂用帳戶或 VM 系列配額。
Performance 端對端作業時間達到目標,包括資源集區配置、資料傳輸、運算及結果保存。
Recovery 在節點遺失、任務失敗或 Spot 搶占(若使用)後,工作仍維持在記錄的最大恢復時間及允許的檢查點遺失範圍內,達成完成期限,並成功使用預定的備用虛擬機大小或儲存池。
Cost 在預期的執行頻率下,經量測的每個已完成作業之計算、儲存、網路和授權成本均符合目標。
營運 警示可識別配額壓力、分配失敗及任務失敗,擁有者可重新定位或恢復工作負載。

若某項標準失敗,則修訂池大小、虛擬機選擇、儲存路徑、重試行為或區域備援,並重複相同工作。 小型功能測試無法建立生產能力,因為它無法達到峰值規模、配額或資料流動。

最佳做法

練習 Description
提前申請配額 請提前充分提交配額申請;大幅增加可能持續數天到數週。
規劃緩衝空間 申請比目前高峰多一點的配額,以促進成長。
使用多個區域 將工作負載分散於各區域,以取得更多總容量。
監控使用情況 當核心使用量達到配額的70–80% 時,立即提醒。
適當大小的虛擬機 將虛擬機家族和大小與工作負載匹配,而不是過度配置。
明智地使用 Spot 為容錯工作負載保留 Spot 節點,並將其與專用節點配對。
清理資源 刪除未使用的池以釋放帳戶配額。

下一步