web-dev-qa-db-ja.com

iperf3の結果を解釈するにはどうすればよいですか?

クレイジーなことはしたくありません。クライアントからサーバーへのダウンロードとアップロードの速度を測定するだけです。

私が実行したサーバーで:

iperf3 -s

クライアントで実行しました:

iperf3 -c IP_ADDESS

これらは私の結果です:

Connecting to Host IP_ADDRESS, port 5201
[  4] local LAN_IP port 2722 connected to IP_ADDRESS port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec   256 KBytes  2.08 Mbits/sec
[  4]   1.01-2.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   2.01-3.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   3.01-4.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   4.01-5.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   5.01-6.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   6.01-7.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   7.01-8.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   8.01-9.01   sec  0.00 Bytes  0.00 bits/sec
[  4]   9.01-10.01  sec   128 KBytes  1.05 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.01  sec  1.25 MBytes  1.05 Mbits/sec                  sender
[  4]   0.00-10.01  sec  1.07 MBytes   896 Kbits/sec                  receiver

iperf Done.

最初にそれが何に接続されているかを伝え、次に1秒ごとに(デフォルトで)その1秒間のパフォーマンスを報告します。何ですか:

  1. 結果?デフォルトでは、データはクライアントからサーバーに送信されます(-Rが指定されていない場合、これは逆になります)。これが単一方向転送の結果である場合、結果に2行あるのはなぜですか?
  2. ID値。私の場合、それらはすべて4です。
  3. リバース転送を行う場合:

    iperf3 -c IP_ADDRESS -R

結果には1つの追加フィールドが含まれます。

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  3.02 MBytes  2.53 Mbits/sec   21             sender
[  4]   0.00-10.00  sec  2.94 MBytes  2.46 Mbits/sec                  receiver

Retrフィールドは、21パケットをTCPによって再送信する必要があったことを意味しますか?

4
Tal

同じ質問があったので code を掘り下げ、正しい答えが見つかることを願っています。

  1. 2本の線は、両側からの測定値を示しています。これらの結果は同じであると主張する人もいるかもしれません。しかし、両方の結果からわかるように、受信者が測定したデータは送信者よりも少なくなっています。主な理由は、測定が時間分割されていることです。したがって、たとえば10秒間(最初のパケットから開始して)を測定すると、nパケットを送信しますが、レシーバーは最初のパケットから10秒を超えて最後のパケットを受信する可能性があります。したがって、これらはカウントされません。さらに、パケット損失があります。

  2. これはsp->socketで埋められます。結局、これはソケットのファイル記述子です(これはintに変換されます)。 -Pフラグを指定して実行してみてください。接続/ソケットごとに異なるIDが表示されます。

  3. あなたの仮定は部分的に正しいです。このフィールドはsp->result->stream_retransを表します。これらは再送信です。このフィールドは、再送信が発生した場合にのみ表示されます(0は表示されていません)。したがって、これは方向に依存しないはずです。

3
heine