次の方法で共有


Azure 仮想マシンのネットワーク スループットの最適化

Azure 仮想マシン (VM) には既定のネットワーク設定があり、ネットワーク スループットについてさらに最適化できます。 この記事では、Windows および Linux VM (Ubuntu、Red Hat などの主要ディストリビューションを含む) のネットワーク スループットを最適化する方法について説明します。

Windows Virtual Machines

Windows 仮想マシンで "高速ネットワーク" がサポートされている場合は、その機能を有効にして最適なスループットを実現します。 詳細については、高速ネットワークを使用した Windows VM の作成に関する記事を参照してください。

他のすべての Windows VM では、Receive Side Scaling (RSS) を使うと、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) の設定を変更します。 これにより、一時的に接続が失われます (約 1 分間)。 接続が失われている間、"再接続中" を示すダイアログが表示されます。 通常、3 回目の試行後に接続が復元されます。

  3. 再度 Get-NetAdapterRss コマンドを入力して、VM で RSS が有効になっていることを確認します。 成功した場合は、次のような出力が返されます。

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : True
    

Linux Virtual Machines

Azure Linux VM では、RSS は既定で常に有効になっています。 2017 年 10 月以降にリリースされた Linux カーネルには、Linux VM がより高いネットワーク スループットを実現できる新しいネットワーク最適化オプションが含まれています。

新規デプロイ用の Ubuntu

Ubuntu on Azure カーネルは、Azure でのネットワーク パフォーマンスに対して非常に効果的に最適化されています。 現在、Canonical のすべての Ubuntu イメージには、最適化された Azure カーネルが既定でインストールされています。

次のコマンドを使用して、バージョンの最後に -azure によって識別される Azure カーネルを使用していることを確認します。

uname -r

#sample output on Azure kernel:
6.8.0-1017-azure

既存の VM 用の Ubuntu on Azure カーネルのアップグレード

Azure Linux カーネルにアップグレードすると、スループットのパフォーマンスが大幅に向上する可能性があります。 このカーネルがあるかどうかを確認するには、カーネルのバージョンを調べてください。 例と同じかそれより新しいものにしてください。

#Azure kernel name ends with "-azure"
uname -r

#sample output on Azure kernel:
#4.13.0-1007-azure

VM に 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+ より新しいカーネルを使用しており、大幅に改善されています。 現在のカーネル バージョンを確認して、新しいカーネルを実行していることを確認します。