harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

iperf

   


iperf

帯域を測定する、ネットワーク性能測定ツール。
こまかい使い方についてはこれから要検証。

[本家サイト]
NLANR
http://dast.nlanr.net/projects/Iperf/#download

[参照サイト]
お世話になっています。
http://www.asahi-net.or.jp/~pm5m-on/it/net/analyzer/iperf/index.htm

ダウンロードとインストール

本家サイトからダウンロードしたアーカイブを展開するだけ。
バイナリが解凍されるので即実行可能(一応/usr/local/binなどにコピって)

2つのホスト間の帯域を計測するので、パケットの送信元となるクライアント側と
受け取り先となるサーバ側にそれぞれダウンロードし、展開する。

# wget http://dast.nlanr.net/projects/Iperf/iperf-1.7.0-linux-2.3.tar.gz
# tar -zxvdf iperf-1.7.0-linux-2.3.tar.gz 

以下のファイルが展開される。

doc/はDocumentRootなどにおいてもOK
iperf
doc/
doc/dast.gif
doc/index.html
doc/jperf.gif
doc/lib.html
doc/ui_license.html
README
KNOWN_PROBLEMS

実行例

IPアドレスは、クライアント側:192.168.0.1、サーバ側192.168.0.2として計測。

デフォルト:サーバ側接続ポート		5001番
	  バッファ長		TCP   8KB
				UDP 1470B
	  UDP帯域		1Mbit/sec
	  パケット送信時間		10秒

出力結果の"Bandwidth"が帯域幅の計測結果となる。
クライアント側とサーバ側で帯域幅が異なっているので、ボトルネックの調査などを
行う材料となる…のかな?

  • クライアント側(パケット送信側) IP:192.168.0.1
    # ./iperf -c 192.168.0.2
    ------------------------------------------------------------
    Client connecting to 192.168.0.2, TCP port 5001
    TCP window size: 16.0 KByte (default)
    ------------------------------------------------------------
    [  3] local 192.168.0.1 port 32808 connected with 192.168.0.2 port 5001
    [ ID] Interval       Transfer     Bandwidth
    [  3]  0.0-10.0 sec   112 MBytes  94.0 Mbits/sec
    # 
  • サーバー側(パケット受け取り側) IP:192.168.0.2
    # ./iperf -s
    ------------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------
    [  4] local 192.168.0.2 port 5001 connected with 192.168.0.1 port 32807
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0-10.4 sec   112 MBytes  90.1 Mbits/sec

 - CentOS, GNU/Linux, infra