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 が有効かどうかを確認し、現在無効になっている場合に有効にするには、これらの手順を実行します。
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) の設定を変更します。 これにより、一時的に接続が失われます (約 1 分間)。 接続が失われている間、"再接続中" を示すダイアログが表示されます。 通常、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+ より新しいカーネルを使用しており、大幅に改善されています。 現在のカーネル バージョンを確認して、新しいカーネルを実行していることを確認します。
関連するコンテンツ
- 近接配置グループを使用して VM を互いに近い場所にデプロイし、待ち時間を短縮する。
- 自分のシナリオについて、最適化された結果を帯域幅/スループットのテストで確認する。
- 仮想マシンに帯域幅を割り当てる方法を確認する。
- Azure Virtual Network についてよく寄せられる質問を確認する。