加快 Azure Batch 池中的 Azure VM 啟動時間

加快 Azure Batch 池中的 Azure VM 啟動時間

我們正在開發一項服務,該服務應該與 Azure Batch 互動並建立虛擬機器池(即「工作節點」)。虛擬機器將從自訂映像(來自共用映像庫)和一些已安裝的應用程式創建,但基於 Windows 2016/2019 基本作業系統(請參閱映像建立連結:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource)。這些虛擬機器將根據要求從 0 擴展到 n。這些虛擬機器的大小目前為 A2V2,但可能會有所不同。

我們測量的這些虛擬機器的虛擬機器啟動時間為 6 分鐘以上。是否有任何提示/步驟可以協助減少在 Azure 池中啟動這些「工作節點」所需的時間。

我嘗試過使用:

  1. VM Ware OSOT 在建立映像之前最佳化 Azure VM。雖然它有輕微的效果(節省了 0 秒到 25 秒),但它不是很有結論,也不是很令人印象深刻。
  2. 在使用 Sysprep 通用化虛擬機器之前,我還嘗試使用 SDelete。使用 SDelete 建立的映像沒有顯示任何啟動時間的改進。

線上研究表明,VM 啟動時間效能對於 Azure 來說是一個未解決的問題,請參閱:https://feedback.azure.com/forums/216843-virtual-machines/suggestions/5715040-accelerate-vm-startup-time

請建議是否有什麼可以幫助改善 Azure Batch 池中 VM 的啟動時間?此外,任何解釋/保證 Azure VM 所需的最短時間的連結/研究也會有所幫助,這樣我們就不會花時間嘗試不必要地過度優化它。

先致謝!

答案1

批次節點的啟動時間受到虛擬機器啟動時間的限制,而且您無法採取大量措施來影響這一點。對於啟動時間,沒有記錄在案的 SLA,但一般經驗表明啟動時間將在 4-8 分鐘之間。

我發現啟動時間有所改善的一個方面是透過使用臨時磁碟。如果您不需要保留磁碟上的數據,那麼使用它可以節省一些啟動時間,但是我發現它可以稍微增加關閉時間(如果這是一個問題)。

相關內容