遠隔ホスト(サーバー):Ubuntu 18.04
ローカルホスト(クライアント):Mac(HomeBrewをインストール済み)
理由:ローカルマシンには外部マシンからアクセスできないため、サーバーは外部マシンによってのみ処理され、パフォーマンステストの結果に影響を与えません。
インストール#
実際のインストールは非常に簡単で、環境を設定するだけです。
Ubuntu のインストール:
$ sudo apt install iperf3
Mac のインストール:
$ brew install iperf3
これで、サーバーとクライアントは異なるパラメーターを設定するだけです。
使用方法#
サーバー:
$ iperf3 -s -i 2
クライアント:
$ iperf3 -c 192.xxx.xxx.xxx -i 2
アップロード速度をテストする場合、クライアントは -R
を追加して実行します。例:
$ iperf3 -c 192.xxx.xxx.xxx -i 2 -R
パラメーターの説明#
共通パラメーター:
- -p、--port [PORT]:Server 側のリッスン、Client 側の接続ポート番号
- -f、--format [TYPE]:レポートで使用されるデータの単位、Kbits、Mbits、KBytes、Mbytes
- -i、--interval [TIME]:レポートの間隔、秒単位
- -F、--file [NAME]:テストに使用するファイルのファイル名。Client 側で使用する場合、テストに送信するファイルです。Server 側で使用する場合、データをファイルに書き込み、破棄しないようにします。
- -A、--affinity n/n,m:CPU のアフィニティを設定します。
- -B、--bind:指定したネットワークインターフェースにバインドします。
- -V、--verbose:実行時により詳細な情報を出力します。
- -J、--json:実行時に JSON 形式で結果を出力します。
- --logfile f:ファイルに出力します。
- -d、--debug:デバッグモードで結果を出力します。
- -v、--version:バージョン情報を表示して終了します。
- -h、--help:ヘルプ情報を表示して終了します。
Server 側パラメーター:
- -s、--server:Server モードで実行します。
- -D、--daemon:バックグラウンドでデーモンとして実行します。
- -I、--pidfile [FILE]:pid ファイルを指定します。
- -1、--one-off:Client 側からのテストを 1 回だけ受け入れ、その後終了します。
Client 側パラメーター:
- -c、--client:Client モードで実行し、Server 側のアドレスを指定します。
- -u、--udp:UDP プロトコルを使用してテストします。
- -b、--bandwidth [TYPE]:テストの帯域幅を制限します。UDP の場合、デフォルトは 1Mbit / 秒、TCP の場合は制限なしです。
- -t、--time [TIME]:時間をテストの終了条件として使用し、デフォルトは 10 秒です。
- -n、--bytes [TYPE]:データ転送サイズをテストの終了条件として使用します。
- -k、--blockcount [TYPE]:データパケットの数をテストの終了条件として使用します。
- -l、--len [TYPE]:読み書きバッファの長さ、TCP のデフォルトは 128K、UDP のデフォルトは 8K です。
- --cport:Client 側で実行する際に使用する TCP または UDP ポートを指定します。デフォルトは一時ポートです。
- -P、--parallel:テストデータストリームの並行数を指定します。
- -R、--reverse:逆方向モードで実行します(Server 側が送信し、Client 側が受信します)。
- -w、--window [TYPE]:ソケットバッファサイズ、TCP モードではウィンドウサイズを設定します。
- -C、--congestion:TCP の輻輳制御アルゴリズムを設定します(Linux と FreeBSD のみ対応)。
- -M、--set-mss:TCP/SCTP の最大セグメントサイズ(MSS、MTU から 40 バイトを引いたもの)を設定します。
- -N、--no-delay:TCP/SCTP のノーディレイを設定し、Nagle アルゴリズムを無効にします。
- -4、--version4:IPv4 のみを使用します。
- -6、--version6:IPv6 のみを使用します。
- -S、--tos N:IP サービスタイプ(TOS、Type Of Service)を設定します。
- -L、--flowlabel N:IPv6 フローラベルを設定します(Linux のみ対応)。
- -Z、--zerocopy:「ゼロコピー」メソッドを使用してデータを送信します。
- -O、--omit N:テストの最初の n 秒を無視します。
- -T、--title str:各行のテスト結果の接頭辞を設定します。
- --get-server-output:Server 側からテスト結果を取得します。
- --udp-counters-64bit:UDP テストパケットで 64 ビットカウンターを使用します(カウンターオーバーフローを防止するため)
実際の使用では、これほど多くのパラメーターは必要ありません。必要な場合は、自分で調べてください。
—EOF—