有效的容量規劃有助於確保您的 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 節點,並將其與專用節點配對。 |
| 清理資源 | 刪除未使用的池以釋放帳戶配額。 |