iPerfを使用したクライアント速度のトラブルシューティング
iPerfは、LANおよびWLANの速度とスループットをテストするために使用できるツールです。仕組みとしては、クライアントとして機能しているコンピュータから、サーバーとして機能しているコンピュータのIPアドレスに送信されるトラフィックを生成します。その後、実際のネットワークの受信速度を表すように調整されたTCPテストによって帯域幅が測定されます。iPerfは、リンクの質を判別したり、遅延、ジッター、データグラム損失をテストしたりする目的にも使用できます。この記事では、iPerfとiPerf3を使用してLANおよびWLANの速度をテストする方法を説明します。
注:このテストを実行するには、ネットワーク接続があり、ローカルLAN経由で互いにアクセスできる2台のコンピュータが必要です。各コンピュータには、iPerfまたはiPerf3ソフトウェアがインストールされている必要があります。
iPerf3
iPerf3テストの実行
iPerf3のダウンロード後、次の手順を実行します。
1.コマンド プロンプトを開き、iperf3.exeファイルが格納されているフォルダに移動します。
例:ファイルがデスクトップにある場合は、コマンド プロンプトで以下を実行します。
cd C:\Users\Administrator\Desktop\iperf-3.1.3-win64
2.サーバー側のコマンド プロンプトで、次のコマンドを実行します。これによって、ポート5201(デフォルト ポート)でクライアント データがリッスンされます。
iperf3 -s
3.クライアント側のコマンド プロンプトで、次のコマンドを実行します。
iperf3 -c 10.0.0.105
クライアントとサーバーが同じネットワーク上で接続されている場合、サーバー側とクライアント側でそれぞれ、次のような結果を受信します。
Windows
クライアント
サーバー
Linux
クライアント
サーバー
送信されるデータ タイプを変更するためにクライアント側で実行できるいくつかのオプションもあります。
双方向で帯域幅を測定するには、オプション「r」を使用します。
- iperf3 -c 10.0.0.105 -R
注: iPerf3では小文字の「r」は機能しないため、大文字を使用する必要があります。
双方向で同時に帯域幅を測定するには、オプション「d」を使用します。
- iperf3 -c 10.0.0.105 -d
TCPウィンドウ サイズ
高速接続で大容量データ ストリームを送信すると、特に1Gbpsリンク経由でテストしている場合に大量のCPUが使用される可能性があります。より大きいウィンドウ サイズを指定すると、クライアント側とサーバー側のコンピュータで実行する必要のある処理量が減ります。ウィンドウ サイズは、同期する必要が生じる前に通過可能なデータ量を設定します。iPerf3の使用中にウィンドウ サイズを指定するには、オプション「w」を指定してコマンドを実行してください。デフォルトの数値はバイト単位ですが、キロバイトの場合はK、メガバイトの場合はMを指定できます。
クライアント:
iperf3 -c 10.0.0.105 -w 2000
-wを使用すると、ウィンドウ サイズを手動で設定できます。設定可能な範囲は2~65,535です。 上の例では、ウィンドウ サイズは2000バイトです。
サーバー:
iperf3 -s
上の例では、ウィンドウ サイズは4000キロバイトに設定されます。
並列ストリーム
iPerf3は、並列ストリームを同時に送信することもできます。 この場合、リンクをより徹底的にテストするために、トンネル経由で複数のトラフィック ストリームを送信します。
注:1Gbpsリンクを使用している場合は、ウィンドウ サイズを調整しながら並列ストリームを使用できます。 高速リンクを完全に飽和させる場合は、並列ストリームの数を増やします。
クライアント:
iperf3 -c 10.0.0.105 -P 2
この例のiPerfでは、2つの並列ストリームを実行しています。
サーバー:
iperf3 -s
サーバー側はすでに任意のトラフィックをリッスン中であるため、並列ストリームを指定する必要はありません。
元のiPerf
iPerfテストの実行
iPerfのダウンロード後、次の手順を実行します。
1.コマンド プロンプトを開き、iperf.exeファイルが格納されているフォルダに移動します。
例:ファイルがデスクトップにある場合は、コマンド プロンプトで以下を実行します。
cd C:\Users\Administrator\Desktop\iperf-2.0.5-2-win32
2.サーバー側のコマンド プロンプトで、次のコマンドを実行します。これによって、ポート5001(デフォルト ポート)でクライアント データがリッスンされます。
iperf -s
3.クライアント側のコマンド プロンプトで、次のコマンドを実行します。
iperf -c 10.0.0.105
クライアントとサーバーが同じネットワーク上で接続されている場合、サーバー側とクライアント側でそれぞれ、次のような結果を受信します。
Windows
クライアント
サーバー
送信されるデータ タイプを変更するためにクライアント側で実行できるいくつかのオプションもあります。
双方向で帯域幅を測定するには、オプション「r」を使用します。
iperf -c 10.0.0.105 -r
双方向で同時に帯域幅を測定するには、オプション「d」を使用します。
iperf -c 10.0.0.105 -d
TCPウィンドウ サイズ
高速接続で大容量データ ストリームを送信すると、特に1Gbpsリンク経由でテストしている場合に大量のCPUが使用される可能性があります。より大きいウィンドウ サイズを指定すると、クライアント側とサーバー側のコンピュータで実行する必要のある処理量が減ります。ウィンドウ サイズは、同期する必要が生じる前に通過可能なデータ量を設定します。iPerfの使用中にウィンドウ サイズを指定するには、オプション「w」コマンドを使用してください。デフォルトの数値はバイト単位ですが、キロバイトの場合はK、メガバイトの場合はMを指定できます。
クライアント:
iperf -c 10.0.0.105 -w 2000
-wを使用すると、ウィンドウ サイズを手動で設定できます。設定可能な範囲は2~65,535です。 上の例では、ウィンドウ サイズは2000バイトです。
サーバー:
iperf -s -w 4000K
上の例では、ウィンドウ サイズは4000キロバイトに設定されます。
並列ストリーム
iPerfは、並列ストリームを同時に送信することもできます。 この場合、リンクをより徹底的にテストするために、トンネル経由で複数のトラフィック ストリームを送信します。
注:1Gbpsリンクを使用している場合は、ウィンドウ サイズを調整しながら並列ストリームを使用できます。 高速リンクを完全に飽和させる場合は、並列ストリームの数を増やします。
クライアント:
iperf -c 10.0.0.105 -P 2
この例のiPerfでは、2つの並列ストリームを実行しています。
サーバー:
iperf -s
サーバー側はすでに任意のトラフィックをリッスン中であるため、並列ストリームを指定する必要はありません。
追加フラグ
テストにUDPポートを使用
iPerf3と元のiPerfのどちらでも、接続のクライアント側で「-u」フラグを使用して、テスト目的でUDPポートを使用できます。
クライアント:
(iperf OR iperf3) -c 10.0.0.105 -u 5001
この場合、10.0.0.105でUDPポート5001を使用して、クライアントからサーバーへの接続を開始します。
サーバー:
(iperf OR iperf3) -s
サーバー側では特別な設定は必要ありません。
接続のターゲット帯域幅を設定
iPerf3と元のiPerfはどちらも、クライアント側で「-b」フラグを使用して、UDP接続およびTCP接続のカスタム ターゲット帯域幅を設定できます。UDP接続のデフォルトのターゲット帯域幅は1Mbpsで、TCP接続のデフォルトのターゲット帯域幅は無制限です。「-P」フラグを使用して複数のストリームを使用する場合、ターゲットは個々のストリームごとに設定されます。
クライアント:
(iperf OR iperf3) -c 10.0.0.105 -u 6789 -b 5M
この場合、5Mbpsのターゲット帯域幅で、10.0.0.105のUDPポート6789を使用してクライアントからサーバーへの接続を開始します。文字「K」を使用してKbpsを指定できます。数値のみの場合はビット/秒と解釈されます。
サーバー:
(iperf OR iperf3) -s
サーバー側では特別な設定は必要ありません。
ターゲット帯域幅とバースト モードの使用
ターゲット帯域幅機能に加え、「バースト モード」と呼ばれる機能があります。この場合、接続をTCPまたはUDPのいずれかに設定し、クライアントからの一連のパケットを一時停止することなく連続して送信できます。そのためには、帯域幅指定子の後にフォワード スラッシュと数値を追加します。スラッシュの後の数値は、一時的にターゲット帯域幅を超えても、迅速に伝送されるパケット数です。
クライアント:
(iperf OR iperf3) -c 10.0.0.105 -p 3456 -b 8K/5
この場合、8Kbpsのターゲット帯域幅で、10.0.0.105のTCPポート3456を使用してクライアントからサーバーへの接続を開始します。一時的に帯域幅が8Kbpsを超えた場合でも、5パケット分のバースト モード伝送が、一時停止することなく許可されます。
サーバー:
(iperf OR iperf3) -s
サーバー側では特別な設定は必要ありません。
その他のリソース
LANとWLANの速度をテストするためにiPerfに似たGUIベースのツールをお探しの場合は、jPerfを使用したクライアント速度とトラフィック シェーピングのトラブルシューティングを参照してください
その他のiPerfまたはiPerf3フラグとオプションについては、iPerfの正式なドキュメンテーションを参照してください。