ネットワークスループットを調査するツール『iperf3』を使ってみる
Linux(Windowsビルドもあるようです)でネットワークスループットを調査するツールに「iperf3」というものがあります。
今回はこれを使ってみたメモです。
※実行環境はVMWare Workstation上に構築した、以下の仮想マシンで行います(同じものを2台用意)。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal $ cat /proc/meminfo |grep MemTotal MemTotal: 8105288 kB $ cat /proc/cpuinfo | grep cpu.cores cpu cores : 1 cpu cores : 1 cpu cores : 1 cpu cores : 1 $ ethtool ens160 | grep baseT Cannot get wake-on-lan settings: Operation not permitted Supported link modes: 1000baseT/Full 10000baseT/Full
※なおホストマシンは、CPU 6Core/12Thread、Memory 64GB という構成です。
1. 導入
aptコマンドでインストールします。ついでに、ネットワーク使用帯域情報を見るコマンド「iftop」もインストールします。
※サーバ側、クライアント側の両方にインストールします。
sudo apt install iperf3 sudo apt install iftop
2. サーバ側の実行方法
サーバ側(待ち受ける方)は以下のように実行します。
iperf3 -s
3. クライアント側
クライアント側(データを送信する方)は以下のように実行します。
iperf3 -c 192.168.213.130 -P 10 -t 60 -b 1G
オプションの内容は以下の通りです。
オプション | 意味 |
---|---|
-c | クライアントモードで実行。 |
192.168.213.130 | サーバ側のIPアドレスを指定。 |
-P 10 | 同時並列処理数。 |
-t 60 | 処理を続ける時間(秒)。 |
-b 1G | 1処理あたりにかける帯域。全体のトラフィックは、同時並列処理数との積になる。 |
4. iftopで帯域情報確認
iperf3を実行している横で、iftopコマンドを利用しどの程度の通信速度が出ているか確認します。
※実行には管理者権限が必要です。
sudo iftop
iperf3を前述のオプションで設定し実行した結果、処理中のあるタイミングでの帯域情報です。
iperf3でかけているネットワークの負荷は10Gbpsです。
またNICのリンクスピード(VMの設定値)が10Gbpsなので、8割~9割ほどの速度が出ていることになります。