はじめに
iperf3について調べたことの備忘録です
目次
1.はじめに
2.内容い
3.内容ろ
4.内容は
5.おわりに
1. iperf3とは
PCなどの機器2台間のネットワークパフォーマンスなどを測定するためのツール。
tcpとudpを使用してパフォーマンスを測定することが可能であり、
オプション指定で切り替えるが、特段指定しない場合tcpが使用される。
それぞれの機器上にiperf3のツールをダウンロードしておく必要がある。
Windows間だけでしか使ったことがないが、LinuxとWindows間なども測定可能らしい。
iperf3のダウンロードURL
https://iperf.fr/iperf-download.php
2. 使い方
用意した機器をサーバー側とクライアント側に分ける必要がある。
それぞれの機器にiperfのサイトからツールをダウンロードした後、
コマンドプロンプトなどでダウンロードしたフォルダに移動し、下記のコマンドを入力することでパフォーマンスを測定できる。
サーバー側のコマンド
ipefr3 -s
クライアント側のコマンド
ipefr3 -c "サーバー側の機器のIPアドレス"
クライアント側のコマンドでは下記オプションをつけることもでき、自分が使用するオプションは下記のもの。
オプション | 内容 |
---|---|
-u | udpでパフォーマンスを測定する |
-V | 詳細表示(パフォーマンス測定にかかったCPUの使用率なども分かる(多分)) |
--logfile "ロフファイル名" | 測定内容をログファイルに出力する |
-w "ウィンドサイズを指定(例:10M)" | ウィンドサイズを指定する(tcpで測定している時のみ限定) |
補足:
・udpでパフォーマンスを測定する時のBandWidthは実際の測定値ではない(ACK応答がないためらしい)。
・udpでパフォーマンスを測定する時、ジッタとロスト率を測ることができる
ジッタについて参考サイト
https://digitaldiy.jp/article/esportsgame/17350/
・ウィンドサイズに大きいものを指定することで、パフォーマンス値は向上する
(ACK応答がくる頻度が減るので、その分パフォーマンスが上がる?)。
ウィンドサイスについての参考サイト
https://www.infraexpert.com/study/tcpip11.html
4. エラーが出た場合
error - unable to connect to server: Connection timed out
というエラーが出たことがあった。
その際はファイアーウォールの設定が影響することがある。
自分の時は、接続されているネットワークの種類の設定がプライベートになっているかと勘違いしていたら、
実際はパブリックの設定になっていた。
5. 所感
ツールをダウンロードするだけで、パフォーマンスを測ることができる手軽さは魅力的だと思った。
インターネット越しでパフォーマンスを測定する際は、ウィンドサイズを指定してあげた方が良いパフォーマンスが出る。
udpで測ることにより、ジッタやロスト率を知ることができネットワークの状況把握に使えそうだなと考えた。