最佳化 Azure 虛擬機器的網路輸送量
警告
本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引。
Azure 虛擬機器 (VM) 有預設網路設定,可進一步針對網路輸送量進行最佳化。 此文章說明如何最佳化 Microsoft Azure Windows 和 Linux VM (包括如 Ubuntu、CentOS 和 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 上的網路效能的最佳化效果最高。 若要取得最新的最佳化項目,請先安裝最新支援版本 18.04-LTS,如下所示:
"Publisher": "Canonical",
"Offer": "UbuntuServer",
"Sku": "18.04-LTS",
"Version": "latest"
建立完成之後,請輸入下列命令以取得最新的更新。 這些步驟也適於目前執行 Ubuntu Azure 核心的 VM。
#run as root or preface with sudo
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
如果現有的 Ubuntu 部署已經有 Azure 核心,但無法更新並出現錯誤,這個選擇性的命令集可能會很有幫助。
#optional steps might be helpful in existing deployments with the Azure kernel
#run as root or preface with sudo
sudo apt-get -f install
sudo apt-get --fix-missing install
sudo apt-get clean
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
現有 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
CentOS
為了取得最新的最佳化項目,我們建議您透過指定下列參數,以最新支援的版本建立虛擬機器:
"Publisher": "OpenLogic",
"Offer": "CentOS",
"Sku": "7.7",
"Version": "latest"
安裝最新的 Lunix 整合服務 (LIS) 可為全新及現有的 VM 帶來好處。 輸送量最佳化選項從 LIS 4.2.2-2 版開始提供。 較新版本包含進一步的改善。 輸入下列命令以安裝最新的 LIS:
sudo yum update
sudo reboot
sudo yum install microsoft-hyper-v
Red Hat
為了取得最佳化項目,我們建議您透過指定下列參數,以最新支援的版本建立虛擬機器:
"Publisher": "RedHat"
"Offer": "RHEL"
"Sku": "7-RAW"
"Version": "latest"
安裝最新的 LIS 可為全新及現有的 VM 帶來好處。 輸送量最佳化選項從 LIS 4.2 版開始提供。 輸入下列命令以下載並安裝 LIS:
wget https://aka.ms/lis
tar xvf lis
cd LISISO
sudo ./install.sh #or upgrade.sh if prior LIS was previously installed
若要深入了解 Linux Integration Services for Hyper-V 4.3 版,請檢視下載頁面。
下一步
- 使用鄰近放置群組部署彼此接近的 VM 以達到低延遲。
- 針對您的案例查看測試頻寬/輸送量,以取得最佳化的結果。
- 了解如何將頻寬配置給虛擬機器。
- 深入了解 Azure 虛擬網路常見問題集。