iperf の使い方メモです。
新しく NW を構築した時なんかに NW スループットの確認をするために利用しています。
今回はサーバのスループットを測定することを想定としてセットアップしますので、サーバ側に FreeBSD、クライアント側に Windwos 7 を利用しています。
では早速、サーバ側の iperf インストールから。ちなみに Linux 環境の場合でも手順は同じです。
# wget http://jaist.dl.sourceforge.net/project/iperf/iperf-2.0.5.tar.gz # tar xfz iperf-2.0.5.tar.gz # cd iperf-2.0.5/ # ./configure # make
とりあえず、これで完了です。
ports からインストールしても良いのですがテスト後は不要になるので、いつもソースコードをコンパイルだけして終わったらそのまま削除しています。
インストールしたい場合にはそのまま make install してください。
下記のコマンドで iperf を起動できます。こちらは TCP モードです。
port はデフォルトの 5001 を使用しますが、任意に変更可能です。
# src/iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 64.0 KByte (default) ------------------------------------------------------------
UDP モードで計測する場合は -u オプションを付け加えて起動します。
# iperf -s -u ------------------------------------------------------------ Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 41.1 KByte (default)
次は、Windwos 側に jperf をセットアップします。
下記リンクから jperf をダウンロードして、任意の場所に解凍します。平たく言うと iperf の GUI 版です。
Java で動くので、Linux や OSX でも動作するようです。
中に jperf.bat ファイルがあるのでこれを実行すると GUI コンソールが起動します。
“Choose iPerf Mode” の所にある Client にチェックを入れ、測定対象の ip と port を設定して右端の “Run Iperf” で測定がはじまります。
正常にテストできている場合は下記画像のようになるはずです。
また、サーバ側でも下記のように結果が表示されます。
Server listening on TCP port 5001 TCP window size: 64.0 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.0.1 port 5001 connected with 192.168.0.2 port 60045 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 5.11 MBytes 4.28 Mbits/sec
大体こんな感じで簡単に NW スループットを測定することができます。
あとは、パラメータなんかを調整しながらテストしていきます。
ただし、宛先を間違えたりすると大量のパケットが流れて大変なことになりますので、実行前はパラメータの確認をすることをお勧めします。