iPerf3 – Linuxでネットワーク速度/スループットをテストする

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

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

最大または改善されたネットワークパフォーマンスを獲得するには、ネットワークの送受信能力のスループットとレイテンシを増やす必要があります。

ただし、実際の調整に入る前に、調整プロセスを案内する全体的なネットワークパフォーマンス統計を収集するためにいくつかのテストを実行する必要があります。

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

要件:

  • iperf3がインストールされている2つのネットワークされたコンピュータ。LinuxシステムにiPerf3をインストールする方法

iPerf3のLinuxシステムへのインストール方法

iperf3を使用する前に、ベンチマーキングに使用する2つのマシンにインストールする必要があります。iperf3ほとんどの一般的なLinuxディストリビューションの公式ソフトウェアリポジトリに用意されているため、パッケージマネージャを使用して簡単にインストールできます。

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

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

2つのLinuxサーバー間のネットワーク速度のテスト方法

まず、サーバーとして使用するリモートマシンに接続し、iperf3をサーバーモードで起動します。これは、デフォルトで5201番ポートでリッスンします。

レポートに使用する形式(kmgKbitsMbitsGbitsKMGKBytesMbytesGbytes)を指定できます。これは、-fスイッチを使用して行います。

$ iperf3 -s -f K 

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

$ iperf3 -s -p 3000

オプションで、-Dフラグを使用してサーバーをデーモンとして実行し、サーバーメッセージをログファイルに書き込むことができます。

$ iperf3 -s -D > iperf3log 

クライアント(実際のベンチマークが行われる場所)で、iperf3をクライアントモードで実行し、-cフラグを使用してサーバーが実行されているホストを指定します(IPアドレス、ドメイン、またはホスト名を使用してください)。

$ iperf3 -c 192.168.10.1 -f K

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

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

Linuxでの高度なネットワークテストスループットの実行方法

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

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

$ iperf3 -c 192.168.10.1 -f K -w 500K	

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

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

双方向テストを実行する場合、つまり両方向で帯域幅を同時に測定する場合は、-dオプションを使用します。

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

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

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

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

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

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

$ man iperf3

それだけです!実際のネットワークパフォーマンスチューニングに取り掛かる前に、常にネットワークパフォーマンステストを実行することを忘れないでください。iperf3は、ネットワークスループットテストを実行するのに便利な強力なツールです。

何か考えや質問はありますか、コメントフォームを使用してください。

Source:
https://www.tecmint.com/test-network-throughput-in-linux/