iperf3コマンド使い方、オプション一覧

iperfはクライアント・サーバ間のネットワークの帯域幅を測定するツールです。
TCP、UDP、SCTPを利用してクライアントからサーバにデータを送信し(逆も可)、その結果から帯域幅を測定します。
様々なオプションによって設定が可能で、結果をjsonでも取得できます。

なお、この記事ではiperf3に限って説明します。

## 基本的な使い方
- サーバIP: 192.168.1.1
- クライアントIP: 192.168.2.1

注意点として、サーバとクライアントで表示される測定値が異なります。
おそらくですが、サーバはクライアント→サーバの一方向のみで判定しているのに対し、クライアントはクライアント・サーバ間の往復で測定しているのだと思われます。

以下にデフォルトでの使用例を示します。
### サーバ
```bash
root@user:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.2.1, port 55948
[  5] local 192.168.1.1 port 5201 connected to 192.168.2.1 port 55950
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   113 KBytes   927 Kbits/sec
[  5]   1.00-2.00   sec  93.3 KBytes   764 Kbits/sec
[  5]   2.00-3.00   sec  91.9 KBytes   753 Kbits/sec
[  5]   3.00-4.00   sec  94.7 KBytes   777 Kbits/sec
[  5]   4.00-5.00   sec  93.3 KBytes   765 Kbits/sec
[  5]   5.00-6.00   sec  91.9 KBytes   753 Kbits/sec
[  5]   6.00-7.00   sec  93.3 KBytes   765 Kbits/sec
[  5]   7.00-8.00   sec  94.7 KBytes   777 Kbits/sec
[  5]   8.00-9.00   sec  93.3 KBytes   764 Kbits/sec
[  5]   9.00-10.00  sec  93.8 KBytes   769 Kbits/sec
[  5]  10.00-11.00  sec  93.3 KBytes   765 Kbits/sec
[  5]  11.00-11.96  sec  90.0 KBytes   768 Kbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-11.96  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-11.96  sec  1.11 MBytes   779 Kbits/sec                  receiver
```

### クライアント
```bash
root@user:~# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  4] local 192.168.2.1 port 55950 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   262 KBytes  2.14 Mbits/sec    0   19.8 KBytes
[  4]   1.00-2.00   sec   141 KBytes  1.16 Mbits/sec    0   24.0 KBytes
[  4]   2.00-3.00   sec  63.6 KBytes   521 Kbits/sec    0   29.7 KBytes
[  4]   3.00-4.00   sec   191 KBytes  1.56 Mbits/sec    0   42.4 KBytes
[  4]   4.00-5.00   sec   191 KBytes  1.56 Mbits/sec    0   66.5 KBytes
[  4]   5.00-6.00   sec   318 KBytes  2.61 Mbits/sec    0    102 KBytes
[  4]   6.00-7.00   sec   382 KBytes  3.13 Mbits/sec    0    150 KBytes
[  4]   7.00-8.00   sec   318 KBytes  2.60 Mbits/sec    0    195 KBytes
[  4]   8.00-9.00   sec   127 KBytes  1.04 Mbits/sec    0    195 KBytes
[  4]   9.00-10.00  sec  63.6 KBytes   522 Kbits/sec    0    195 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  2.01 MBytes  1.69 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  1.11 MBytes   931 Kbits/sec                  receiver

iperf Done.
```

## オプション一覧
オプションは共通で使用できるもの、サーバのみで指定できるもの、クライアントのみで指定できるものに分類されます。
サーバとして起動する`-s`オプション、もしくはクライアントとして起動する`-c`オプションのどちらかは必須です。
太字はよく使用すると思われるオプションです。

### 共通
|オプション|説明|
|---|---|
|**-p, --port n**|**サーバなら待ち受けるポート、クライアントなら接続先ポートを指定する。デフォルトは5201。**|
|--cport n|クライアント側のポートを指定できる。|
|-f, --format [kmKM]|出力される結果のbandwidthの単位を指定できる。<br>'k' = Kbits/sec<br>'K' = KBytes/sec<br>'m' = Mbits/sec<br>'M' = MBytes/sec|
|-i, --interval n|n秒ごとにbandwidth、jitter、lossの結果を出す。デフォルトは1。0にすると終了時の統計しか出力しない。|
|-F, --file name|クライアントなら送るデータを設定できる。デフォルトはランダムデータ。サーバならどこに書き込むかを設定できる。デフォルトは書き込まず受け取ったデータを廃棄する。|
|-A, --affinity n/n,m-F|使用するCPUを指定できる。|
|-B, --bind host|使用する(待ち受ける)IPアドレスを指定する。NICが複数ある場合に使用する。|
|-V, --verbose|詳細出力を行う。|
|**-J, --json**|**JSONで出力する。**|
|**--logfile file**|**指定すると結果をファイルに出力する。**|
|--d, --debug|デバッグ出力を行う。主に開発者が使うことを想定している。|
|-v, --version|バージョンを出力する。|
|-h, --help|ヘルプを出力する。|

### サーバ
|オプション|説明|
|---|---|
|**-s, --server**|**iperfサーバを起動する (一度に一つのコネクションしか許可しない)**|
|**-D, --daemon**|**デーモンとしてバックグラウンドで動作させる。**|
|-I, --pidfile file|pidをファイルに書き出す。サーバが停止したら削除される。バックグラウンドで動作させるときに有用。|
|-1, --one-off|クライアントと1回通信を行った後に終了する。|

### クライアント
|オプション|説明|
|---|---|
|**-c, --client host**|**iperfクライアントを起動し、hostに対して接続する。**|
|--sctp|TCPではなくSCTPを使用する。(Linux, FreeBSD, Solaris)|
|**-u, --udp**|**TCPではなくUDPを使用する。**|
|-b, --bandwidth n[KM]|帯域制限を掛ける。TCPの場合デフォルト無制限、UDPの場合はデフォルト1Mbit/sec。`-p`オプションによって並列実行している場合、それぞれのストリームに対して制限がかかる(合計ではない)。|
|**-t, --time n**|**n秒間通信を行う。デフォルトは10秒。`-n`, `-k`オプションと一緒に指定できない。**|
|-n, --num n[KM]|n個のバッファを送信し終えるとiperfクライアントを終了する。`-t`, `-k`オプションと一緒に指定できない。|
|-k, --blockcount n[KM]|n個のブロック(パケット)を送信し終えるとクライアントを終了する。`-t`, `-n`オプションと一緒に指定できない。|
|-l, --length n[KM]|書き込むor読み込むバッファの長さを指定する。iperfはlengthバイトの配列を何度も送信して通信の測定を行う。TCPはデフォルト128KB、UDPはデフォルト8KB。|
|-P, --parallel n|n個のコネクションを同時に接続する。デフォルトは1つ。|
|**-R, --reverse**|**サーバが送信、クライアントが受信を行う。(デフォルトはサーバが受信、クライアントが送信)**|
|-w, --window n[KM]|ソケットのバッファサイズを指定する。TCPの場合、TCPのウィンドウサイズを設定する。|
|-M, --set-mss n|TCPの最大セグメントサイズ(MSS)の設定を試みる。イーサネットの場合、通常1460バイト(MTU1500バイト)|
|-N, --no-delay|TCPのno delayオプションをつける。(telnetなどの対話的なアプリケーションと同様に)Nagleアルゴリズムを無効にする。|
|-4, --version4|IPv4のみ使用する。|
|-6, --version4|IPv6のみ使用する。|
|-S, --tos n|送信パケットのTOSフィールドを指定する(多くのルータはTOSフィールドを無視する)。RFC1349に規定されているTOSフ番号(8進数)によって指定する。|
|-L, --flowlabel n|IPv6フローラベルを設定する。(今はLinuxしかサポートしていない)|
|-Z, --zerocopy|データの送信に"zero copy"メソッドを使用する。CPUの使用率を下げられる。|
|-O, --omit n|最初のn秒を切り捨てる。これによりTCPのスロースタート区間をスキップできる。|
|-T, --title str|出力行ごとにプレフィックスとしてstrをつける。|
|-C, --linux-congestion algo|TCPの輻輳制御アルゴリズムを指定する。(Linuxはiperf3.0より、FreeBSDはiperf3.1より)|
|--get-server-output|測定用の通信終了後、サーバの出力を取得する。サーバで`-J`オプションが指定されている場合はJSON形式となる。|

## 一部オプション使用例

### `-J, --json` + `--get-server-output`
`-J, --json`はjson出力を行うオプションです。
`--get-server-output`はクライアントでサーバの出力を取得するオプションです。
(逐一ログを書くと非常に長くなるため同時に解説します。)

json出力では`start`には自分や接続先の情報が記録されます。
`intervals`には毎秒ごと(`-i`オプションで指定した秒数ごと)の統計情報を配列で記録され、
`end`には全体の統計情報が表示されます。

また、`--get-server-output`を使用するとクライアントの出力に`server_output_json`が追加され、サーバの情報が丸々表示されます。
`--get-server-output`の出力フォーマットはサーバに依存します。
サーバ側で`-J`が使用されている場合は`server_output_json`がクライアントに追加され、フォーマットはjsonとなります。
`-J`が使用されていない場合は`server_output_text`が追加され、出力はhuman readableな形になります。

以下に使用例を示します。(ログを短くするため、`-t`オプションで2秒のみ実行しています。)
#### サーバ
```json
root@user:~# iperf3 -s -J
{
	"start":	{
		"connected":	[{
				"socket":	6,
				"local_host":	"192.168.1.1",
				"local_port":	5201,
				"remote_host":	"192.168.2.1",
				"remote_port":	55896
			}],
		"version":	"iperf 3.1.3",
		"system_info":	"Linux user 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64",
		"timestamp":	{
			"time":	"Mon, 22 Oct 2018 11:43:09 GMT",
			"timesecs":	1540208589
		},
		"accepted_connection":	{
			"host":	"192.168.2.1",
			"port":	55894
		},
		"cookie":	"user.1540208589.347668.465df0c74fa7c",
		"tcp_mss_default":	1448,
		"test_start":	{
			"protocol":	"TCP",
			"num_streams":	1,
			"blksize":	131072,
			"omit":	0,
			"duration":	2,
			"bytes":	0,
			"blocks":	0,
			"reverse":	0
		}
	},
	"intervals":	[{
			"streams":	[{
					"socket":	6,
					"start":	0,
					"end":	1.000122,
					"seconds":	1.000122,
					"bytes":	7851120,
					"bits_per_second":	62801308.797608,
					"omitted":	false
				}],
			"sum":	{
				"start":	0,
				"end":	1.000122,
				"seconds":	1.000122,
				"bytes":	7851120,
				"bits_per_second":	62801308.797608,
				"omitted":	false
			}
		}, {
			"streams":	[{
					"socket":	6,
					"start":	1.000122,
					"end":	2.000173,
					"seconds":	1.000051,
					"bytes":	8340480,
					"bits_per_second":	66720435.818218,
					"omitted":	false
				}],
			"sum":	{
				"start":	1.000122,
				"end":	2.000173,
				"seconds":	1.000051,
				"bytes":	8340480,
				"bits_per_second":	66720435.818218,
				"omitted":	false
			}
		}, {
			"streams":	[{
					"socket":	6,
					"start":	2.000173,
					"end":	2.039380,
					"seconds":	0.039207,
					"bytes":	347520,
					"bits_per_second":	70909819.689381,
					"omitted":	false
				}],
			"sum":	{
				"start":	2.000173,
				"end":	2.039380,
				"seconds":	0.039207,
				"bytes":	347520,
				"bits_per_second":	70909819.689381,
				"omitted":	false
			}
		}],
	"end":	{
		"streams":	[{
				"sender":	{
					"socket":	6,
					"start":	0,
					"end":	2.039380,
					"seconds":	2.039380,
					"bytes":	0,
					"bits_per_second":	0
				},
				"receiver":	{
					"socket":	6,
					"start":	0,
					"end":	2.039380,
					"seconds":	2.039380,
					"bytes":	16539120,
					"bits_per_second":	64879017.493887
				}
			}],
		"sum_sent":	{
			"start":	0,
			"end":	2.039380,
			"seconds":	2.039380,
			"bytes":	0,
			"bits_per_second":	0
		},
		"sum_received":	{
			"start":	0,
			"end":	2.039380,
			"seconds":	2.039380,
			"bytes":	16539120,
			"bits_per_second":	64879017.493887
		},
		"cpu_utilization_percent":	{
			"host_total":	0.280553,
			"host_user":	0.149538,
			"host_system":	0.131039,
			"remote_total":	0,
			"remote_user":	0,
			"remote_system":	0
		}
	}
}

```

#### クライアント

```json
root@user:~# iperf3 -c 192.168.1.1  -J -t 2 --get-server-output
{
	"start":	{
		"connected":	[{
				"socket":	4,
				"local_host":	"192.168.2.1",
				"local_port":	55896,
				"remote_host":	"192.168.1.1",
				"remote_port":	5201
			}],
		"version":	"iperf 3.1.3",
		"system_info":	"Linux user 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64",
		"timestamp":	{
			"time":	"Mon, 22 Oct 2018 11:43:09 GMT",
			"timesecs":	1540208589
		},
		"connecting_to":	{
			"host":	"192.168.1.1",
			"port":	5201
		},
		"cookie":	"user.1540208589.347668.465df0c74fa7c",
		"tcp_mss_default":	1448,
		"test_start":	{
			"protocol":	"TCP",
			"num_streams":	1,
			"blksize":	131072,
			"omit":	0,
			"duration":	2,
			"bytes":	0,
			"blocks":	0,
			"reverse":	0
		}
	},
	"intervals":	[{
			"streams":	[{
					"socket":	4,
					"start":	0,
					"end":	1.000226,
					"seconds":	1.000226,
					"bytes":	10049120,
					"bits_per_second":	80374793.623801,
					"retransmits":	0,
					"snd_cwnd":	367792,
					"rtt":	20369,
					"omitted":	false
				}],
			"sum":	{
				"start":	0,
				"end":	1.000226,
				"seconds":	1.000226,
				"bytes":	10049120,
				"bits_per_second":	80374793.623801,
				"retransmits":	0,
				"omitted":	false
			}
		}, {
			"streams":	[{
					"socket":	4,
					"start":	1.000226,
					"end":	2.000355,
					"seconds":	1.000129,
					"bytes":	8535960,
					"bits_per_second":	68278873.087020,
					"retransmits":	0,
					"snd_cwnd":	367792,
					"rtt":	20316,
					"omitted":	false
				}],
			"sum":	{
				"start":	1.000226,
				"end":	2.000355,
				"seconds":	1.000129,
				"bytes":	8535960,
				"bits_per_second":	68278873.087020,
				"retransmits":	0,
				"omitted":	false
			}
		}],
	"end":	{
		"streams":	[{
				"sender":	{
					"socket":	4,
					"start":	0,
					"end":	2.000355,
					"seconds":	2.000355,
					"bytes":	18585080,
					"bits_per_second":	74327126.739364,
					"retransmits":	0,
					"max_snd_cwnd":	367792,
					"max_rtt":	20369,
					"min_rtt":	20316,
					"mean_rtt":	20342
				},
				"receiver":	{
					"socket":	4,
					"start":	0,
					"end":	2.000355,
					"seconds":	2.000355,
					"bytes":	16539120,
					"bits_per_second":	66144739.134701
				}
			}],
		"sum_sent":	{
			"start":	0,
			"end":	2.000355,
			"seconds":	2.000355,
			"bytes":	18585080,
			"bits_per_second":	74327126.739364,
			"retransmits":	0
		},
		"sum_received":	{
			"start":	0,
			"end":	2.000355,
			"seconds":	2.000355,
			"bytes":	16539120,
			"bits_per_second":	66144739.134701
		},
		"cpu_utilization_percent":	{
			"host_total":	2.032571,
			"host_user":	0.482924,
			"host_system":	1.549694,
			"remote_total":	0.280553,
			"remote_user":	0.149538,
			"remote_system":	0.131039
		}
	},
	"server_output_json":	{
		"start":	{
			"connected":	[{
					"socket":	6,
					"local_host":	"192.168.1.1",
					"local_port":	5201,
					"remote_host":	"192.168.2.1",
					"remote_port":	55896
				}],
			"version":	"iperf 3.1.3",
			"system_info":	"Linux user 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64",
			"timestamp":	{
				"time":	"Mon, 22 Oct 2018 11:43:09 GMT",
				"timesecs":	1540208589
			},
			"accepted_connection":	{
				"host":	"192.168.2.1",
				"port":	55894
			},
			"cookie":	"user.1540208589.347668.465df0c74fa7c",
			"tcp_mss_default":	1448,
			"test_start":	{
				"protocol":	"TCP",
				"num_streams":	1,
				"blksize":	131072,
				"omit":	0,
				"duration":	2,
				"bytes":	0,
				"blocks":	0,
				"reverse":	0
			}
		},
		"intervals":	[{
				"streams":	[{
						"socket":	6,
						"start":	0,
						"end":	1.000122,
						"seconds":	1.000122,
						"bytes":	7851120,
						"bits_per_second":	62801308.797608,
						"omitted":	false
					}],
				"sum":	{
					"start":	0,
					"end":	1.000122,
					"seconds":	1.000122,
					"bytes":	7851120,
					"bits_per_second":	62801308.797608,
					"omitted":	false
				}
			}, {
				"streams":	[{
						"socket":	6,
						"start":	1.000122,
						"end":	2.000173,
						"seconds":	1.000051,
						"bytes":	8340480,
						"bits_per_second":	66720435.818218,
						"omitted":	false
					}],
				"sum":	{
					"start":	1.000122,
					"end":	2.000173,
					"seconds":	1.000051,
					"bytes":	8340480,
					"bits_per_second":	66720435.818218,
					"omitted":	false
				}
			}, {
				"streams":	[{
						"socket":	6,
						"start":	2.000173,
						"end":	2.039380,
						"seconds":	0.039207,
						"bytes":	347520,
						"bits_per_second":	70909819.689381,
						"omitted":	false
					}],
				"sum":	{
					"start":	2.000173,
					"end":	2.039380,
					"seconds":	0.039207,
					"bytes":	347520,
					"bits_per_second":	70909819.689381,
					"omitted":	false
				}
			}],
		"end":	{
			"streams":	[{
					"sender":	{
						"socket":	6,
						"start":	0,
						"end":	2.039380,
						"seconds":	2.039380,
						"bytes":	0,
						"bits_per_second":	0
					},
					"receiver":	{
						"socket":	6,
						"start":	0,
						"end":	2.039380,
						"seconds":	2.039380,
						"bytes":	16539120,
						"bits_per_second":	64879017.493887
					}
				}],
			"sum_sent":	{
				"start":	0,
				"end":	2.039380,
				"seconds":	2.039380,
				"bytes":	0,
				"bits_per_second":	0
			},
			"sum_received":	{
				"start":	0,
				"end":	2.039380,
				"seconds":	2.039380,
				"bytes":	16539120,
				"bits_per_second":	64879017.493887
			},
			"cpu_utilization_percent":	{
				"host_total":	0.280553,
				"host_user":	0.149538,
				"host_system":	0.131039,
				"remote_total":	0,
				"remote_user":	0,
				"remote_system":	0
			}
		}
	}
}

```

##### サーバで`-J`オプションが使用されてない場合の`server_output_text`
```json
"server_output_text":   "Accepted connection from 192.168.2.1, port 55900\n[  5] local 192.168.1.1 port 5201 connected to 192.168.2.1 port 55902\n[ ID] Interval           Transfer     Bandwidth\n[  5]   0.00-1.00   sec  5.06 MBytes  42.5 Mbits/sec                  \n[  5]   1.00-2.00   sec  5.41 MBytes  45.4 Mbits/sec                  \n[  5]   2.00-2.02   sec   113 KBytes  38.5 Mbits/sec                  \n- - - - - - - - - - - - - - - - - - - - - - - - -\n[ ID] Interval           Transfer     Bandwidth\n[  5]   0.00-2.02   sec  0.00 Bytes  0.00 bits/sec                  sender\n[  5]   0.00-2.02   sec  10.6 MBytes  43.9 Mbits/sec                  receiver\n"
```


### `-u`
`-u`オプションは測定にUDPを使用するオプションです。
TCP仕様時とは異なり、ロス・遅延(ジッタ)が表示されます。

注意点として、クライアント側で出力されるbandwidthは測定値ではなく、クライアントの送信帯域となります。
TCPと異なりサーバからACKが帰ってこないため、測定ができないのだと思われます。

また、iperfの制御用通信は常にTCPの指定ポート(デフォルト5201)で行われます。

以下使用例です。
#### サーバ
```bash
root@user:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.2.1, port 39926
[  5] local 192.168.1.1 port 5201 connected to 192.168.2.1 port 43902
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec  80.0 KBytes   655 Kbits/sec  3.268 ms  4/14 (29%)
[  5]   1.00-2.00   sec  72.0 KBytes   590 Kbits/sec  6.837 ms  6/15 (40%)
[  5]   2.00-3.00   sec  80.0 KBytes   655 Kbits/sec  9.455 ms  6/16 (38%)
[  5]   3.00-4.00   sec  80.0 KBytes   655 Kbits/sec  11.324 ms  6/16 (38%)
[  5]   4.00-5.00   sec  80.0 KBytes   656 Kbits/sec  11.901 ms  6/16 (38%)
[  5]   5.00-6.00   sec  80.0 KBytes   655 Kbits/sec  12.634 ms  6/16 (38%)
[  5]   6.00-7.00   sec  80.0 KBytes   656 Kbits/sec  12.423 ms  6/16 (38%)
[  5]   7.00-8.00   sec  80.0 KBytes   655 Kbits/sec  12.726 ms  6/16 (38%)
[  5]   8.00-9.00   sec  88.0 KBytes   721 Kbits/sec  12.561 ms  6/17 (35%)
[  5]   9.00-10.00  sec  72.0 KBytes   590 Kbits/sec  12.321 ms  6/15 (40%)
[  5]  10.00-10.12  sec  16.0 KBytes  1.07 Mbits/sec  12.619 ms  1/3 (33%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-10.12  sec  0.00 Bytes  0.00 bits/sec  12.619 ms  59/160 (37%)
```

#### クライアント
```bash
root@user:~# iperf3 -c 192.168.1.1 -u
Connecting to host 192.168.1.1, port 5201
[  4] local 192.168.2.1 port 43902 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   3.00-4.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   4.00-5.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   5.00-6.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   6.00-7.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   8.00-9.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec  16
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  12.619 ms  59/160 (37%)
[  4] Sent 160 datagrams

iperf Done.
```

## 公開サーバ
[こちらのページ](https://iperf.fr/iperf-servers.php)に公開されているiperf3のサーバの一覧が載っています。
とりあえずiperfを試す場合はこちらを利用するのも良いでしょう。

## 参考
[iperf.fr](https://iperf.fr/)