最佳化 Azure 虛擬機器的網路輸送量
Azure 虛擬機器 (VM) 有預設網路設定,可進一步針對網路輸送量進行最佳化。 此文章說明如何最佳化 Microsoft Azure Windows 和 Linux VM (包括如 Ubuntu 和 Red Hat 等主要發行版本) 的網路輸送量。
Windows 虛擬機器
如果您的 Windows 虛擬機器支援加速網路,請啟用該功能以達到最佳輸送量。 如需詳細資訊,請參閱建立具有加速網路功能的 Windows VM。
針對所有其他的 Windows 虛擬機器,相較於不使用接收端調整 (RSS) 的 VM,使用 RSS 的 VM 可達到更高的最大輸送量。 根據預設,Windows VM 中可能會停用 RSS。 若要判斷是否已啟用 RSS,並在停用的情況下將它啟用,請完成下列步驟:
使用 Get-NetAdapterRss PowerShell 命令來查看是否已針對網路介面卡啟用 RSS。 在從
Get-NetAdapterRss
傳回的下列範例輸出中,RSS 並未啟用。Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : False
若要啟用 RSS,請輸入下列命令:
Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
此命令沒有任何輸出。 命令會變更 NIC 設定。 這會導致暫時性連線中斷約一分鐘。 連線中斷時隨即出現 [正在重新連線] 對話方塊。 第三次嘗試後,連線通常就會恢復。
再次輸入
Get-NetAdapterRss
命令以確認 VM 中已啟用 RSS。 如果成功,則會傳回下列範例輸出:Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : True
Linux 虛擬機器
根據預設,Azure Linux VM 中一律會啟用 RSS。 2017 年 10 月之後發行的 Linux 核心包含新的網路最佳化選項,它們可讓 Linux VM 達到更高的網路輸送量。
新部署的 Ubuntu
Ubuntu Azure 核心用於 Azure 上的網路效能的最佳化效果最高。 目前,Canonical 的所有 Ubuntu 映像預設都會安裝優化的 Azure 核心。
您可以直接使用下列命令,確定您使用版本結尾的 -azure 所識別的 Azure 核心。
uname -r
#sample output on Azure kernel:
6.8.0-1017-azure
現有 VM 的 Ubuntu Azure 核心升級
藉由升級至 Azure Linux 核心,您可獲得顯著的輸送量效能。 若要確認您是否擁有此核心,請檢查您的核心版本。 版本應與範例相同或更新。
#Azure kernel name ends with "-azure"
uname -r
#sample output on Azure kernel:
#4.13.0-1007-azure
若您的虛擬機器沒有 Azure 核心,其版本號碼通常會以 "4.4" 為開頭如果 VM 沒有 Azure 核心,請以根權限執行下列命令:
#run as root or preface with sudo
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install "linux-azure"
sudo reboot
其他散發套件
大部分的新式散發套件應具有比 4.19+ 更新的核心有顯著的改善,您可以檢查目前的核心版本,並確定您正在執行較新的核心。
下一步
- 使用鄰近放置群組部署彼此接近的 VM 以達到低延遲。
- 針對您的案例查看測試頻寬/輸送量,以取得最佳化的結果。
- 了解如何將頻寬配置給虛擬機器。
- 深入了解 Azure 虛擬網路常見問題集。