次の方法で共有


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

Azure Virtual Machines (VM) には既定のネットワーク設定があり、ネットワーク スループットについてさらに最適化できます。 この記事では、Microsoft Azure の 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 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 カーネルがない場合は、root として次のコマンドを実行します。

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

次のステップ