Yami

メモとか、やったこととか。

ネットワークスループットを調査するツール『iperf3』を使ってみる

LinuxWindowsビルドもあるようです)でネットワークスループットを調査するツールに「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を前述のオプションで設定し実行した結果、処理中のあるタイミングでの帯域情報です。

f:id:jrick:20220223000826p:plain

iperf3でかけているネットワークの負荷は10Gbpsです。
またNICのリンクスピード(VMの設定値)が10Gbpsなので、8割~9割ほどの速度が出ていることになります。

参考

方法:IPERF3を使用してネットワークとディスクのスループットを測定する| 例とコマンド