SEIL/x86 で遊んでみる (measure機能)

最近はクラウドサービスが続々と提供されており、高機能なサービスを短時間で提供できるようになってきました。本当に便利な世の中になりましたね。

しかしながら、インターネット経由のサービスは大変便利ではありますが、ネットワークが快適に使えているかどうかを客観的に計測するのは意外に面倒なことです。

そのような時にはルータ間で速度計測をすると傾向が掴めます。今回は、SEIL/x86 を用いたネットワークの計測を試してみました。SEILシリーズ には iperf機能 が組み込まれております。市販のルータ機器ではオープンソースの計測ツールの入っている物が見当たらなかったのですが、SEIL には入っておりました。すごいね、SEIL。

SEIL/x86 を社内ネットワーク等に用意しておけば、いつでも速度計測ができて便利です。

クライアント側:
下記の例では、100Mbps (transfer-rate 100), 60秒(duration 60)にてサーバと通信します。
計測結果は Bandwidth の項目に表示されます(以下の例では 94.2 Mbits/sec)


# measure iperf client <サーバのIPアドレス> transfer-rate 100 duration 60
###################################################################
# ATTENTION: THIS PROGRAM IS SENDING TRAFFIC TO THE NETWORK. #
# notice: when you want to exit this program, please type Ctrl-C. #
###################################################################

                                                                                                                      • -

Client connecting to , UDP port 5001
Sending 1280 byte datagrams
UDP buffer size: 73.7 Kbit (default)

                                                                                                                      • -

[ 3] local 10.0.0.120 port 65530 connected with 10.0.0.111 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 5.65 Gbits 94.2 Mbits/sec
[ 3] Sent 552036 datagrams
[ 3] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-60.0 sec 4.91 Gbits 81.9 Mbits/sec 0.184 ms 72110/552036 (13%)

サーバ側:


# measure iperf server start

さらに便利な使い方としては、以下のように普通のunixサーバ(CentOSなど)を組み合わせても計測ができます。

Linuxを iperfサーバとして利用する際のポイントは、

  • UDPを用いる(-u)
  • length を指定する(-l 5000)

になります。

クライアント側:


vpc-edge# measure iperf client <サーバのIPアドレス> transfer-rate 65 duration 10
###################################################################
# ATTENTION: THIS PROGRAM IS SENDING TRAFFIC TO THE NETWORK. #
# notice: when you want to exit this program, please type Ctrl-C. #
###################################################################

                                                                                                                      • -

Client connecting to , UDP port 5001
Sending 1280 byte datagrams
UDP buffer size: 73.7 Kbit (default)

                                                                                                                      • -

[ 3] local port 65125 connected with port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 639 Mbits 63.9 Mbits/sec
[ 3] Sent 62433 datagrams
[ 3] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.0 sec 639 Mbits 63.9 Mbits/sec 0.188 ms 14/62433 (0.022%)

サーバ側(CentOS):


$ wget (iperf-2.0.5.tar.gz)
$ tar zxvf iperf-2.0.5.tar.gz
$ cd iperf-2.0.5
$ ./configure; make
$ cd src
$ ./iperf -u -s -l 5000
[ 3] local port 5001 connected with port 65126
[ 3] 0.0- 1.5 sec 3.75 KBytes 19.9 Kbits/sec 0.083 ms 0/ 2 (0%)
[ 3] 0.0- 1.5 sec 1 datagrams received out-of-order
[ 4] local port 5001 connected with port 65125
[ 4] 0.0-10.0 sec 76.2 MBytes 63.9 Mbits/sec 0.189 ms 14/62433 (0.022%)