英語で読む

次の方法で共有


NTTTCP を使用して VM ネットワーク スループットをテストする

この記事では、Microsoft が提供する無料の NTTTCP ツールを使用して、Azure Windows または Linux 仮想マシン (VM) のネットワーク帯域幅とスループット パフォーマンスをテストする方法について説明します。 NTTTCP のようなツールは、ネットワークをテストの対象にしており、パフォーマンスに影響を与える可能性のある他のリソースの使用を最小限に抑えます。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます
  • Azure 内の 2 つの Windows または Linux 仮想マシン。 Windows VM を作成するか Linux VM を作成します。
    • スループットをテストするには、"送信側" と "受信側" として機能する、同じサイズの 2 つの VM が必要です。 2 つの VM は、同じ近接配置グループまたは可用性セットに属している必要があります。これにより、それらの内部 IP アドレスを使用して、ロード バランサーをテストから除外できます。
    • コマンドで使用する VM コアの数と受信側 VM の IP アドレスに注意してください。 送信側と受信側の両方のコマンドで、受信側の IP アドレスが使用されます。

注意

仮想 IP を使用したテストは可能ですが、この記事の範囲外です。

この記事で使用されている例

設定
受信側 VM の IP アドレス 10.0.0.5
VM コアの数 2

Windows VM または Linux VM でスループットをテストする

Windows VM から NTTTCP を使用して、または Linux VM から NTTTCP-for-Linux を使用してスループットをテストできます。

VM を準備して NTTTCP-for-Linux をインストールする

Linux マシンからスループットを測定するには、NTTTCP-for-Linux を使用します。

  1. ご使用のディストリビューションに応じて、次のコマンドを実行して、送信側と受信側の両方の VM で NTTTCP-for-Linux を準備します。

    • Ubuntu の場合、build-essentialgit をインストールします。

      sudo apt-get update
      sudo apt-get -y install build-essential
      sudo apt-get -y install git
      
    • SUSE の場合、git-coregcc、および make をインストールします。

      sudo zypper in -y git-core gcc make
      
  2. NTTTCP-for-Linux を作成してインストールします。

    git clone https://github.com/Microsoft/ntttcp-for-linux
    cd ntttcp-for-linux/src
    sudo make && sudo make install
    

スループット テストを実行する

送信側 VM と 受信側 VM の両方で、300 秒間 (5 分間) NTTTCP テストを実行します。 送信側と受信側で、-t パラメーターに同じテスト時間を指定する必要があります。 時間パラメーターを指定しない場合、テスト時間の既定値は 60 秒です。

  1. 受信側 VM で次のコマンドを実行します。

    ntttcp -r -m 4,*,10.0.0.5 -t 300
    
  2. 送信側 VM で次のコマンドを実行します。 この例は、受信側の IP アドレスが 10.0.0.5 である場合の送信側のコマンドを示しています。

    ntttcp -s -m 4,*,10.0.0.5 -t 300
    

テストが完了すると、出力は次の例のようになります。

azureuser@vm-3:~/ntttcp-for-linux/src$ ntttcp -s -m 4,*,10.0.0.5 -t 300
NTTTCP for Linux 1.4.0
---------------------------------------------------------
23:59:01 INFO: 4 threads created
23:59:01 INFO: 4 connections created in 1933 microseconds
23:59:01 INFO: Network activity progressing...
00:04:01 INFO: Test run completed.
00:04:01 INFO: Test cycle finished.
00:04:01 INFO: 4 connections tested
00:04:01 INFO: #####  Totals:  #####
00:04:01 INFO: test duration:300.00 seconds
00:04:01 INFO: total bytes:35750674432
00:04:01 INFO:  throughput:953.35Mbps
00:04:01 INFO:  retrans segs:13889
00:04:01 INFO: cpu cores:2
00:04:01 INFO:  cpu speed:2793.437MHz
00:04:01 INFO:  user:0.16%
00:04:01 INFO:  system:1.60%
00:04:01 INFO:  idle:98.07%
00:04:01 INFO:  iowait:0.05%
00:04:01 INFO:  softirq:0.12%
00:04:01 INFO:  cycles/byte:0.91
00:04:01 INFO: cpu busy (all):3.96%
---------------------------------------------------------

Windows VM と Linux VM の間のスループットをテストする

Windows VM と Linux VM の間で NTTTCP スループット テストを実行するには、Windows の -ns フラグまたは Linux の -N フラグを使用して同期なしモードを有効にします。

受信側として Linux VM でテストするには、次のコマンドを実行します。

ntttcp -r -m [<number of VM cores> x 2],*,<Windows VM IP address> -t 300

送信側として Linux VM でテストするには、次のコマンドを実行します。

ntttcp -s -m [<number of VM cores> x 2],*,<Windows VM IP address> -N -t 300

次のステップ