読者です 読者をやめる 読者になる 読者になる

danishnetのブログ

「デキるネットワークエンジニアになるために。」

スループットの測定方法について


今日とあるコミュニティでネットワークのスループットの測定方法について
活発に情報共有をされていたのでチェックしていた。

ちゃんとしたネットワークエンジニアになるための基本且つ重要事項として
きちんと抑えておくべき事だと思ったためまとめておこうと思いました。

まずぱっと思いつく測定方法としては下記の2つの方法という意見が多かった。

 

  ・RFC2544に則ったスループット試験

  ・IMIX(Internet Mix Traffic)でのスループット試験

 

恥ずかしながら私はIMIXというテストパターンは実践したことがありませんでした。
IMIXとは簡単に言うと、実際にインターネット網の中を流れているトラフィックを擬似った
トラフィックパターンの事で、それを流して試験をするという事のようです。
gihyo.jpの説明がわかりやすかった。

トラフィックジェネレーターがあればこういったしっかりした試験ができるだろうが、
小規模ネットワーク管理者や個人では手に入りにくいかなぁと思います。
かなり興味がある。う〜ん、なんとか体験できないものか。

いまの会社ではスループット測定には「iperf」というフリーのソフトをよく使っている。
クライアントとサーバにiperfをインストールしてクライアントとサーバに接続して
測定するというシンプルなものだ。

 [iperf_client]〜(Network)〜[iperf_server]

クライアント及びサーバとなるマシンにapt-get install iperfでインストール、
Linuxの場合のコマンドは下記の通りで、実際に試したときの結果です。

 

まずはiperfサーバ起動
[サーバ]
danish-server# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.100 port 5001 connected with 192.168.1.1 port 37437
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.2 sec  25.0 MBytes  20.6 Mbits/sec

 

立ち上げたサーバにiperfクライアントを接続
[クライアント]

danish-client# iperf -c 192.168.1.100
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.1 port 37437 connected with 192.168.1.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  25.0 MBytes  20.8 Mbits/sec


とこんな結果となりました。

余談ですが、その昔私は携帯キャリアの無線ネットワークのエンジニアであったこともあり3GPPネットワークの無線区間のスループット試験として、
端末〜3GPPNW〜サーバ(FTP)という構成で端末にサーバからファイルダウン/アップロードをして
その無線区間(端末〜3GPPNWのラストワンマイル)のスループットの評価をしていた事がある。
新規の会社でノウハウもなかったからか、今思うと結構雑やったなぁ。。

今回はIMIXのネタで書きたかったのですが、ちょっとネタがないため、

結局何が書きたいのかわからない記事になってしまいました(笑)
今後も調査して何か面白いことやいい体験ができたら改めて書きたいと思います!