Linuxでiperf3ツールを使用してネットワークスループットをテストする方法


iperf3 は、リアルタイムのネットワークスループット測定を実行するための無料のオープンソース、クロスプラットフォームのコマンドラインベースのプログラムです。これは、IPネットワークで達成可能な最大帯域幅をテストするための強力なツールの1つです( IPv4 IPv6 をサポート)。

iperf を使用すると、タイミング、バッファ、TCP、UDP、SCTPなどのプロトコルに関連するいくつかのパラメータを調整できます。ネットワークパフォーマンスの調整操作に役立ちます。

ネットワークのパフォーマンスを最大限に向上させるためには、ネットワークの送受信機能のスループットと待ち時間を向上させる必要があります。ただし、実際の調整に入る前に、いくつかのテストを実行して調整プロセスを導くための全体的なネットワークパフォーマンス統計を収集する必要があります。

その結果には、秒単位の時間間隔、転送されたデータ、帯域幅(転送速度)、損失、およびその他の有用なネットワークパフォーマンスパラメータが含まれます。これは主に特定のパス上でのTCP接続の調整を支援することを目的としており、これがこのガイドで焦点を当てるものです。

  • Two networked computers which both have iperf3 installed.

Linuxシステムにiperf3をインストールする方法

iperf3 を使い始める前に、ベンチマークに使用する2台のマシンにインストールする必要があります。 iperf3 はほとんどの一般的なLinuxディストリビューションの公式ソフトウェアリポジトリで入手可能なので、インストールは簡単です。表示されているようにパッケージマネージャを使用します。

$ sudo apt install iperf3	#Debian/Ubuntu
$ sudo yum install iperf3	#RHEL/CentOS
$ sudo dnf install iperf3	#Fedora 22+ 

両方のコンピュータに iperf3 をインストールしたら、ネットワークスループットのテストを開始できます。

Linuxサーバー間のネットワークスループットをテストする方法

-s フラグを使用してサーバーモードでサーバーと起動時の iperf3 として使用するリモートマシンに最初に接続します。デフォルトでは 5201 です。

フォーマットを指定できます( K M K の場合は g Mビットの場合は M )。 、 Gビットまたは K M G KB )、 Mバイト Gバイト)を表示するには、図のように -f スイッチを使用します。

$ iperf3 -s -f K 

ポート 5201 がサーバー上の別のプログラムによって使用されている場合は、 -p スイッチを使用して別のポート( 3000 など)を指定できます。示す。

$ iperf 3 -s -p 3000

次のように、 -D フラグを使用してサーバーをデーモンとして実行し、サーバーメッセージをログファイルに書き込むこともできます。

$ iperf 3 -s -D > iperf3log 

次に、実際のベンチマークが行われるクライアントとして扱うローカルコンピュータで、 -c を使用してクライアントモードで iperf3 を実行します。サーバが動作しているホストにフラグを付けて指定します(IPアドレス、ドメイン、またはホスト名のいずれかを使用)。

$ iperf 3 -c 192.168.10.1 -f K

次のスクリーンショットに示すように、約 18 20 秒後に、クライアントは終了し、ベンチマークの平均スループットを示す結果を生成するはずです。

Linuxでネットワークテストのスループットを向上させる方法

以下で説明するように、高度なテストを実行するためのクライアント固有のオプションがいくつかあります。

ネットワーク内のデータ量を決定する重要な要素の1つは、TCPウィンドウサイズです。これは、TCP接続の調整に重要です。図のように -w フラグを使ってウィンドウサイズ/ソケットバッファサイズを設定できます。

$ iperf 3 -c 192.168.10.1 -f K -w 500K	

サーバーが送信しクライアントが受信するリバースモードで実行するには、 -R スイッチを追加します。

$ iperf 3 -c 192.168.10.1 -f K -w 500K -R	

双方向テストを実行するには、双方向で同時に帯域幅を測定することを意味します。 -d オプションを使用します。

$ iperf 3 -c 192.168.10.1 -f K -w 500K -d

クライアントの出力にサーバーの結果を表示する場合は、 --get-server-output オプションを使用します。

$ iperf 3 -c 192.168.10.1 -f K -w 500K -R --get-server-output

-P オプションを使用して、同時に実行される並列クライアントストリームの数(この例では2つ)を設定することもできます。

$ iperf 3 -c 192.168.10.1 -f K -w 500K -P 2

詳細については、iperf3のマニュアルページを参照してください。

$ man iperf3

iperf3ホームページ:https://iperf.fr/

それで全部です!実際のネットワークパフォーマンスチューニングに進む前に、必ずネットワークパフォーマンステストを実行してください。 iperf3 は強力なツールで、ネットワークのスループットテストを実行するのに便利です。共有することや質問することがありますか。以下のコメントフォームを使用してください。