すべてのプロダクト
Search
ドキュメントセンター

Express Connect:Express Connect回路のパフォーマンスをテストする

最終更新日:Jul 10, 2024

のデプロイ後、ネットワークパフォーマンスをテストして、Express接続回線がビジネス要件を満たしていることを確認する必要があります。 このトピックでは、NetperfおよびiPerf3を使用してExpress Connect回路のパフォーマンスをテストする方法について説明します。

前提条件

  • Express Connect回路がデプロイされ、設定されます。 データセンターは、Express Connect回線を介してAlibaba Cloudに接続されています。

  • オンプレミスのデバイスは、NetperfまたはiPerf3テストでクライアントまたはサーバーとして機能するように準備されています。

    この例では、オンプレミスデバイスのIPアドレスは192.168.100.1です。

  • 8つのECS (Elastic Compute Service) インスタンスが作成され、仮想プライベートクラウド (VPC) にデプロイされます。 ECSインスタンスは、NetperfまたはiPerf3テストでクライアントまたはサーバーとして機能します。 ECSインスタンスは、設定情報とテスト結果を送信するためにオンプレミスデバイスに接続されています。

    この例では、ECS. se1.2xlargeタイプのecsインスタンスが作成されます。 画像はcentos_7_2_64_40G_base_20170222.vhdで、IPアドレスの範囲は172.16.0.2 ~ 172.16.0.9です。

テスト環境の設定

NetperfとiPerf3のインストール

オンプレミスのデバイスとECSインスタンスにNetperfとiPerf3をインストールするには、次の操作を実行します。

説明

次の操作は、ECSインスタンスにNetperfとiPerf3をインストールする方法を示しています。

  1. ECSインスタンスにログインします。 詳細については、「接続方法の概要」をご参照ください。

  2. Netperfをインストールします。

    1. 次のコマンドを実行して、Netperfインストールパッケージをダウンロードします。

      wget -c " https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0 " -O netperf-2.5.0.tar.gz
    2. 次のコマンドを順番に実行してNetperfをインストールします。

      tar -zxvf netperf-2.5.0.tar.gz
      cd netperf-netperf-2.5.0
      ./configure 
      make 
      make install
    3. netperf -Vまたはnetserver -Vを実行し、Netperfがインストールされているかどうかを確認します。

      システムが次の情報を返す場合、Netperfがインストールされます。

      Netperf version 2.5.0
  3. iPerf3をインストールします。

    1. 次のコマンドを実行してiPerf3をダウンロードします。

      yum install git -y  
      git clone https://github.com/esnet/iperf
    2. 次のコマンドを実行してiPerf3をインストールします。

      cd iperf
      ./configure && make && make install && cd ..
      cd src
      ADD_PATH="$(pwd)" 
      PATH="${ADD_PATH}:${PATH}"
      export PATH
    3. iperf3 -vコマンドを実行して、iPerf3がインストールされているかどうかを確認します。

      システムが次の情報を返す場合、Netperfがインストールされます:

      iperf 3.10.1 + (cJSON 1.7.13)
      Linux iZbp15y0zrhx2ry6vo1b4wZ 3.10.0-957.21.3.el7.x86_64 #1 SMP 6月18 16:35:19 UTC 2019 x86_64 

マルチキュー機能の有効化

インタフェースeth0がExpress Connect回路に接続されていると仮定する。 オンプレミスのデバイスでethtool -L eth0 combined 4コマンドを実行し、マルチキュー機能を有効にします。

この例では、次の情報が返されます。

echo "ff" > /sys/class/net/eth0/queues/rx-0/rps_cpus
echo "ff" > /sys/class/net/eth0/queues/rx-1/rps_cpus
echo "ff" > /sys/class/net/eth0/queues/rx-2/rps_cpus
echo "ff" > /sys/class/net/eth0/queues/rx-3/rps_cpus

Netperfを使用して、Express Connect回線のパケット転送パフォーマンスをテストします。

Netperfの概要

Netperfをインストールすると、netserver (サーバー) とnetperf (クライアント) の2つのコマンドラインインターフェイス (CLI) ツールが作成されます。 下表にパラメーター示します。

ツール

主なパラメータ

説明

netserver

-p

リスナーのポート番号。

netperf

-H

オンプレミスデバイスまたはECSインスタンスのIPアドレス。

-p

オンプレミスデバイスまたはECSインスタンスのポート。

-l

ツールの稼働時間。

-t

パケットの送信に使用されるプロトコル。 有効な値: TCP_STREAMおよびUDP_STREAM。

UDP_STREAMの使用を推奨します。

-m

データパケットのサイズ。

  • パケット /秒 (PPS) をテストする場合は、値を1に設定することを推奨します。

  • ビット /秒 (BPS) をテストするときは、値を1400に設定することを推奨します。

オンプレミスデバイスのサーバーとしてのパケット転送パフォーマンスをテストします。

  1. 次のコマンドを実行して、オンプレミスデバイスでnetserverプロセスを開始し、異なるポートを指定します。

    netserver -p 11256
     netserver -p 11257 
     netserver -p 11258 
     netserver -p 11259 
     netserver -p 11260 
     netserver -p 11261 
     netserver -p 11262 
     netserver -p 11263 
  2. 8つのECSインスタンスでnetperf -H server_ip -p port 6 -t UDP_STREAM -l 300 -- -m 1コマンドを実行し、netperfプロセスを開始し、ネットサーバーのポートをECSインスタンスのポートとして指定します。

    • 次のコマンドを実行してPPSをテストします。

      netperf -H 192.168.100.1 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The first ECS instance
      netperf -H 192.168.100.1 -p 11257 -t UDP_STREAM -l 300 -- -m 1 #The second ECS instance
      netperf -H 192.168.100.1 -p 11258 -t UDP_STREAM -l 300 -- -m 1 #The third ECS instance
      netperf -H 192.168.100.1 -p 11259 -t UDP_STREAM -l 300 -- -m 1 #The fourth ECS instance
      netperf -H 192.168.100.1 -p 11260 -t UDP_STREAM -l 300 -- -m 1 #The fifth ECS instance
      netperf -H 192.168.100.1 -p 11261 -t UDP_STREAM -l 300 -- -m 1 #The sixth ECS instance
      netperf -H 192.168.100.1 -p 11262 -t UDP_STREAM -l 300 -- -m 1 #The seventh ECS instance
      netperf -H 192.168.100.1 -p 11263 -t UDP_STREAM -l 300 -- -m 1 #The eighth ECS instance
    • 次のコマンドを実行してBPSをテストします。

      netperf -H 192.168.100.1 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 #The first ECS instance
      netperf -H 192.168.100.1 -p 11257 -t UDP_STREAM -l 300 -- -m 1400 #The second ECS instance
      netperf -H 192.168.100.1 -p 11258 -t UDP_STREAM -l 300 -- -m 1400 #The third ECS instance
      netperf -H 192.168.100.1 -p 11259 -t UDP_STREAM -l 300 -- -m 1400 #The fourth ECS instance
      netperf -H 192.168.100.1 -p 11260 -t UDP_STREAM -l 300 -- -m 1400 #The fifth ECS instance
      netperf -H 192.168.100.1 -p 11261 -t UDP_STREAM -l 300 -- -m 1400 #The sixth ECS instance
      netperf -H 192.168.100.1 -p 11262 -t UDP_STREAM -l 300 -- -m 1400 #The seventh ECS instance
      netperf -H 192.168.100.1 -p 11263 -t UDP_STREAM -l 300 -- -m 1400 #The eighth ECS instance

クライアントとしてのオンプレミスデバイスのパケット転送パフォーマンスのテスト

  1. ECSインスタンスでnetserver -p 11256コマンドを実行し、netserverプロセスを開始し、ポートを指定します。

  2. オンプレミスデバイスでnetperf -H ECS_ip -p port -t UDP_STREAM -l 300 -- -m 1コマンドを実行して、8つのnetperfプロセスを開始し、ECSインスタンスに異なるIPアドレスを指定します。

    • 次のコマンドを実行してPPSをテストします。

       netperf -H 172.16.0.2 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The first ECS instance
       netperf -H 172.16.0.3 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The second ECS instance
       netperf -H 172.16.0.4 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The third ECS instance
       netperf -H 172.16.0.5 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The fourth ECS instance
       netperf -H 172.16.0.6 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The fifth ECS instance
       netperf -H 172.16.0.7 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The sixth ECS instance
       netperf -H 172.16.0.8 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The seventh ECS instance
       netperf -H 172.16.0.9 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The eighth ECS instance
    • 次のコマンドを実行してBPSをテストします。

       netperf -H 172.16.0.2 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 #The first ECS instance
       netperf -H 172.16.0.3 -p 11257 -t UDP_STREAM -l 300 -- -m 1400 #The second ECS instance
       netperf -H 172.16.0.4 -p 11258 -t UDP_STREAM -l 300 -- -m 1400 #The third ECS instance
       netperf -H 172.16.0.5 -p 11259 -t UDP_STREAM -l 300 -- -m 1400 #The fourth ECS instance
       netperf -H 172.16.0.6 -p 11260 -t UDP_STREAM -l 300 -- -m 1400 #The fifth ECS instance
       netperf -H 172.16.0.7 -p 11261 -t UDP_STREAM -l 300 -- -m 1400 #The sixth ECS instance
       netperf -H 172.16.0.8 -p 11262 -t UDP_STREAM -l 300 -- -m 1400 #The seventh ECS instance
       netperf -H 172.16.0.9 -p 11263 -t UDP_STREAM -l 300 -- -m 1400 #The eighth ECS instance

テスト結果を分析する

クライアント側でnetperfプロセスが完了すると、次の結果が表示されます。 次の式を使用してPPSを計算できます。PPS=送信されるパケットの数 /テストの期間。

Socket  Message  Elapsed      Messages
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec
124928       1   10.00     4532554      0       3.63
212992           10.00     1099999              0.88

次の表に、テスト結果のフィールドを示します。

項目

説明

Socket Size

バッファーサイズ。

Message Size

パケットサイズ。 単位:バイト

Elapsed Time

テストの期間。 単位は秒です。

Message Okay

送信されるパケットの数。

Message Errors

送信に失敗したパケットの数。

スループット

ネットワークスループット。 単位は、Mbit/s です。

iPerf3を使用してExpress Connect回路の帯域幅をテストする

iPerf3の概要

次の表に、iPerf3の主なパラメーターを示します。

主なパラメータ

説明

-s

サーバーにのみ適用されます。 このパラメーターは、iPerf3がサーバーモードで実行されることを指定します。

-c

クライアントにのみ適用されます。 このパラメーターは、iPerf3をクライアントモードで実行することを指定します。

-i

2つのレポートの間隔を指定します。 単位は秒です。

-p

  • サーバーリスナーのポートを指定します。 デフォルトのポート番号は5201です。 リスナーはTCPポートとUDPポートの両方でリッスンします。

  • クライアントのポートを指定します。 デフォルトのポート番号は5201です。 -uパラメーターも設定されている場合は、UDPを使用して接続を開始します。 それ以外の場合、TCPがデフォルトで使用されます。

-u

UDPを使用してパケットを送信します。 このパラメーターが設定されていない場合、TCPが使用されます。

-l

読み取り /書き込みバッファーの長さを指定します。 パケット転送パフォーマンスをテストするときは、値を16に設定することを推奨します。 帯域幅をテストするときは、値を1400に設定することを推奨します。

-b

UDPモードで使用される帯域幅を指定します。 単位:bit/s。

-t

送信の期間を指定します。 iPerf3は、指定された長さのパケットを指定された期間内に繰り返し送信します。 デフォルトの所要時間は10秒です。

-A

CPUアフィニティ。 iPerf3プロセスを対応するIDで論理CPUにバインドして、CPU間でiPerf3プロセスをスケジュールしないようにすることができます。

オンプレミスデバイスの帯域幅をサーバーとしてテストする

  1. オンプレミスデバイスで次のコマンドを実行して、iPerf3プロセスをサーバーモードで開始し、異なるポートを指定します。

    iperf3 -s -i 1 -p 16001
     iperf3 -s -i 1 -p 16002
     iperf3 -s -i 1 -p 16003
     iperf3 -s -i 1 -p 16004
     iperf3 -s -i 1 -p 16005
     iperf3 -s -i 1 -p 16006
     iperf3 -s -i 1 -p 16007
     iperf3 -s -i 1 -p 16008 
  2. ECSインスタンスでiperf3 -u -l 16 -b 100m -t 120 -c server_ip -i 1 -p port -A 1コマンドを実行して、クライアントモードでiPerf3プロセスを開始し、ECSインスタンスのポートとしてオンプレミスデバイスのポートを指定します。

    次のコマンドを実行します。

     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16001 -A 1 #The first ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16002 -A 2 #The second ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16003 -A 3 #The third ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16004 -A 4 #The fourth ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16005 -A 5 #The fifth ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16006 -A 6 #The sixth ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16007 -A 7 #The seventh ECS instance
     iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16008 -A 8 #The eighth ECS instance

クライアントとしてのオンプレミスデバイスの帯域幅のテスト

  1. ECSインスタンスでiperf3 -s -i 1 -p 16001コマンドを実行して、サーバーモードでiPerf3プロセスを開始し、ポートを指定します。

  2. オンプレミスデバイスで次のコマンドを実行して、クライアントモードで8つのiPerf3プロセスを開始します。

    iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.2 -i 1 -p 16001 -A 1
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.3 -i 1 -p 16001 -A 2
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.4 -i 1 -p 16001 -A 3
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.5 -i 1 -p 16001 -A 4
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.6 -i 1 -p 16001 -A 5
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.7 -i 1 -p 16001 -A 6
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.8 -i 1 -p 16001 -A 7
     iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.9 -i 1 -p 16001 -A 8 

テスト結果を分析する

クライアント側でiPerf3プロセスが完了すると、次の結果が表示されます。 次の式を使用してPPSを計算できます。PPS=ピアが受信したパケットの数 /テストの期間。

[ ID]  Interval        Transfer    Bandwidth      Jitter    Lost/Total Datagrams
[  4]  0.00-10.00 sec  237 MBytes  199 Mbits/sec  0.027 ms  500/30352 (1.6%)
[  4]  Sent 30352  datagrams

30352送信

説明

サーバー側でsarコマンドを実行して、実際に受信したパケットをカウントすることを推奨します。 例: sar -n DEV 1 320

次の表に、テスト結果のフィールドを示します。

項目

説明

Transfer

送信されるデータの総量。

帯域幅

帯域幅

Jitter

ネットワークのジッター。

Lost/Total Datagrams

パケット損失率は、次の式に基づいて計算されます。パケット損失率=ドロップされたパケットの数 /パケットの総数。