最佳化 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,並在停用的情況下將它啟用,請完成下列步驟:

  1. 使用 Get-NetAdapterRss PowerShell 命令來查看是否已針對網路介面卡啟用 RSS。 在從 Get-NetAdapterRss 傳回的下列範例輸出中,RSS 並未啟用。

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : False
    
  2. 若要啟用 RSS,請輸入下列命令:

    Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
    

    此命令沒有任何輸出。 命令會變更 NIC 設定。 這會導致暫時性連線中斷約一分鐘。 連線中斷時隨即出現 [正在重新連線] 對話方塊。 第三次嘗試後,連線通常就會恢復。

  3. 再次輸入 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 版,請檢視下載頁面

下一步