trixbox(asterisk)とクライアントPC(MacOSX Leopard)間の通信スピードテスト方法

LAN・WAN間の通信速度を計測する方法をご紹介いたします。
特に今回は、trixbox(asterisk)同士の回線スピードテスト、もしくはtrixbox(asterisk)とクライアントPC(MacOSX Leopard)間の回線スピードテストをする方法を中心にご紹介。
正確には、trixboxとかasteriskLinuxの上で動作しているIP-PBXソフトウェアなので、Linuxとのスピードテストです。

スピードテストには「Netperf」と言うアプリケーションを利用します。「Netperf」はUNIX/LINUXでは有名なアプリだそうですが、Windows版もある様なのでお試しあれ。
いつもの事ながら、ウチではwindows版については説明しません。

netperf WEBサイト:http://www.netperf.org/netperf/
ダウンロードURL:ftp://ftp.netperf.org/netperf/

trixbox(asterisk)同士で回線スピードを計測する

まず、SSHを利用してtrixbox(asterisk)にrootでログインして下さい。
SSHでtrixboxへの接続方法が分からない場合はコチラを参照してください。

ログインが完了すれば以下の手順でnetperfをインストールします。


# wget ftp://ftp.netperf.org/netperf/archive/netperf-2.4.4.tar.gz
# tar zxvf netperf-2.4.4.tar.gz
# cd netperf-2.4.4
# ./configure
# make
# make install
これでまずtrixbox(asterisk)にnetperfがインストールされました。2台のtrixbox(asterisk)同士でスピードテストを行う場合は、両方のtrixbox(asterisk)で上と同じ作業を行ってインストールをすませてください。


次に、テストしたいサーバー側(受け側)のnetperfを起動させ待ち受け状態にします。


# nerserver

起動すると以下のメッセージが表示されて、クライアントからの接続を待ちます。
tarting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC

クライアント側で以下のコマンドを実行するとサーバー側(受け側)とクライアントの通信スピードをテストできます。


# netperf -H IPアドレスかホスト名
例 netperf -H 192.168.0.100
例 netperf -H s123465x.trixbox.fonality.com

TCP STREAM TEST from (null) (0.0.0.0) port 0 AF_INET to s123465x.trixbox.fonality.com (xxx.xxx.xxx.xxx) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 131070 131070 10.08 12.24

10.08秒間テストを実行して、クライアント→サーバーのスループットが12.24 Mbit/sec と計測されてる様です。

注意:計測結果は絶対なものではありません。機器や環境を変えて利用した場合の相対的な値だと考える方が良いと思います。

MacOSX Leopard 10.5 にnetperfをインストールする

今回はMacOSX Leopard 10.5.7で行います。
コンパイルを行いますので、前準備としてxcode toolsをOS付属のディスクからインストールしておく必要があると思います。


ターミナル(アプリケーション/ユーティリティ/ターミナル.app)を起動する。
$ curl -o netperf-2.4.4.tar.gz ftp://anonymous@ftp.netperf.org/netperf/archive/netperf-2.4.4.tar.gz
$ tar zxvf netperf-2.4.4.tar.gz
$ cd netperf-2.4.4
$ su
Password:
# ./configure
# make
# make install
# exit
これでMacOSX Leopardへnetperfがインストールできました。
あとは、trixbox(asterisk)と同じように、テストしたいサーバー側(受け側)のnetperfを起動させ待ち受け状態にします。

# nerserver

起動すると以下のメッセージが表示されて、クライアントからの接続を待ちます。
tarting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC

クライアント側で以下のコマンドを実行するとサーバー側(受け側)とクライアントの通信スピードをテストできます。

# netperf -H IPアドレスかホスト名
例 netperf -H 192.168.0.100
例 netperf -H s123465x.trixbox.fonality.com

TCP STREAM TEST from (null) (0.0.0.0) port 0 AF_INET to s123465x.trixbox.fonality.com (xxx.xxx.xxx.xxx) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 131070 131070 10.08 12.24

注意:計測結果は絶対なものではありません。機器や環境を変えて利用した場合の相対的な値だと考える方が良いと思います。

netperfサーバーを停止する。

netperfサーバプロセスが動いているかどうかを確認するには


$ ps aux | grep netserver

動いていれば、こんな感じで表示されます。
root 9010 0.0 0.0 1992 292 ? Ss 10:21 0:00 netserver

netperfサーバーを停止する。


# kill [ netserver のPID ]

# killall netserver

詳しいマニュアル

マニュアル(英語)