次の方法で共有


Azure VM 間のネットワーク待機時間をテストする

概要

この記事では、Windows または SockPerf for Linux の一般提供ツール Latte を使用して、Azure仮想マシン (VM) 間のネットワーク待機時間をテストする方法について説明します。

最も正確な結果を得るには、タスク用に設計されたツールを使用して VM ネットワークの待機時間を測定し、アプリケーションの待機時間などの他の種類の待機時間を除外する必要があります。 Latte と SockPerf は、伝送制御プロトコル (TCP) およびユーザー データグラム プロトコル (UDP) トラフィックに焦点を当てることで、最も関連性の高いネットワーク待機時間の結果を提供します。 ほとんどのアプリケーションはこれらのプロトコルを使用し、このトラフィックはアプリケーションのパフォーマンスに最も大きな影響を与えます。

Ping などの他の一般的なネットワーク待機時間テスト ツールの多くは、TCP または UDP トラフィックを測定しません。 Ping などのツールでは、アプリケーションで使用されないインターネット制御メッセージ プロトコル (ICMP) が使用されます。 ICMP トラフィックはアプリケーション トラフィックとは異なる方法で処理でき、アプリケーションのパフォーマンスに直接影響を与えるわけではありません。 ICMP テスト結果は、TCP と UDP を使用するワークロードには直接適用されません。

Latte と SockPerf は、TCP または UDP ペイロードの配信時間のみを測定します。 これらのツールでは、次の方法を使用して、2 台の物理コンピューターまたは仮想コンピューター間のネットワーク待機時間を測定します:

  1. 1 つを送信者として、1 つを受信者として指定して、コンピューター間に双方向の通信チャネルを作成します。
  2. 双方向でパケットを送受信し、ラウンドトリップ時間 (RTT) を測定します。

ネットワーク待機時間を最適化するためのヒントとベスト プラクティス

ネットワーク待機時間に合わせて VM を最適化するには、VM を作成するときに次の推奨事項を確認します。

  • Windowsまたは Linux の最新バージョンを使用します。
  • 高速ネットワークを有効にしてパフォーマンスを向上させます。
  • Azure近接通信配置グループ内に VM をデプロイします。
  • パフォーマンスを向上させるために、より大きな VM を作成します。

ネットワーク待機時間をテストおよび分析するには、次のベスト プラクティスを使用します。

  1. ネットワーク VM のデプロイ、構成、最適化が完了するとすぐに、デプロイされた VM 間のベースライン ネットワーク待機時間の測定値を取得してベンチマークを確立します。

  2. 次のいずれかのコンポーネントを変更した場合のネットワーク待機時間に対する影響をテストします。

    • オペレーティング システム (OS) またはネットワーク スタック ソフトウェア (構成の変更を含む)。
    • 可用性ゾーンまたは近接配置グループ (PPG) へのデプロイなど、VM のデプロイ方法。
    • 高速ネットワークやサイズの変更などの VM プロパティ。
    • ルーティングやフィルター処理の変更など、仮想ネットワークの構成。
  3. 変更を制御する前に、常に新しいテスト結果をベースラインまたは最新のテスト結果と比較します。

  4. 変更を観察またはデプロイするたびに、テストを繰り返します。

Latte または SockPerf を使用して VM をテストする

次の手順に従って、Windowsまたは linux の場合は Latte または SockPerf を使用してネットワーク待機時間をテストします。

Latte をインストールして VM を構成する

  1. 最新バージョンの latte.exe を両方の VM にダウンロードし、 c:/tools などの別のフォルダーに配置します。

  2. receiver VM で、Latte トラフィックの到着を許可する Windows Defender ファイアウォール allow ルールを作成します。 特定の受信 TCP ポートを許可するよりも、 latte.exe プログラムを名前で許可する方が簡単です。 コマンドで、プレースホルダーを、c:\tools\ など、latte.exe ダウンロードしたパスに置き換えます。

    netsh advfirewall firewall add rule program=<path>latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY
    

VM で Latte を実行する

powerShell からではなく、Windows コマンド ラインから latte.exe を実行します。

  1. 受信側 VM で次のコマンドを実行し、 、 、および プレースホルダーを独自の値に置き換えます。

    latte -a <receiver IP address>:<port> -i <iterations>
    
    • 代表的な結果を返すには、約 65,000 回のイテレーションで十分です。
    • 使用可能なポート番号は問題ありません。

    次の例は、の IP アドレスを持つ VM のコマンドを示しています。

    latte -a 10.0.0.4:5005 -i 65100

  2. 送信側 VM で、クライアントまたは送信側 VM を示すを追加した場合を除き、受信側と同じコマンドを実行します。 ここでも、 、 、および のプレースホルダーを独自の値に置き換えます。

    latte -c -a <receiver IP address>:<port> -i <iterations>
    

    例えば次が挙げられます。

    latte -c -a 10.0.0.4:5005 -i 65100

  3. 結果を待ちます。 VM の距離によっては、テストが完了するまでに数分かかる場合があります。 より長いテストを実行する前に、より少ないイテレーションから始めて成功をテストすることを検討してください。

次のステップ