at_ito
2014年8月10日 15時34分
NPtcpコマンドを使用して、ネットワークのスループットを測る方法を紹介します。
ここでは、以下の流れで説明します。
- NPtcpをユーザーランドに追加
- NPtcpを使ってスループットを計測する
1. NPtcpをユーザーランドに追加
ArmadilloにNPtcpを追加
標準のユーザーランドイメージにはNPtcpコマンドが入っていません。そのため、Atmark Distのユーザーランドコンフィギュレーションを変更して、NPtcpを含んだユーザーランドイメージを作成します。
以下のユーザーランドコンフィギュレーションを有効にして、ユーザーランドイメージを作成してください。
Userland Configuration Network Applications ---> [*] NPtcp ← 有効化
上記コンフィギュレーションを変更した後に作成したユーザーランドを、 Armadilloに書き込んでください。
作業用PCにNPtcpを追加
Windowsを使用している場合は、以下のURLからNPtcpをダウンロードできます。
- http://na-inet.jp/na/netpipe/ (Windowsが32bitの場合)
- http://sourceforge.net/projects/netpipe/files/ (Windowsが64bitの場合)
Linuxを使用している場合は、各ディストリビューションに従ってパッケージ等をインストールしてください。 Debian GNU/Linux 7.0(コードネームwheezy)をお使いの場合は、以下のコマンドでインストールできます。
[atde ~]$ sudo apt-get install netpipe-tcp
2. NPtcpを使ってスループットを計測する
作業用PCでNPtcpを実行してください。以下のようなメッセージが表示されます。
Send and receive buffers are 65536 and 65536 bytes (A bug in Linux doubles the requested buffer sizes)
Armadilloで、以下のように作業用PCのIPアドレスを指定してNPtcpコマンドを実行してください。
[armadillo ~]# ./NPtcp -h <作業用PCのIPアドレス>
以下のようなスループット計測結果が表示されます。
0: 1 bytes 19 times --> 0.00 Mbps in 2051.74 usec 1: 2 bytes 48 times --> 0.02 Mbps in 861.31 usec 2: 3 bytes 116 times --> 0.00 Mbps in 17015.96 usec 3: 4 bytes 3 times --> 0.01 Mbps in 5827.17 usec 4: 6 bytes 12 times --> 0.01 Mbps in 4398.79 usec 5: 8 bytes 11 times --> 0.05 Mbps in 1142.45 usec 6: 12 bytes 54 times --> 0.11 Mbps in 857.58 usec : : : 101: 786432 bytes 3 times --> 17.41 Mbps in 344540.50 usec 102: 786435 bytes 3 times --> 18.98 Mbps in 316158.67 usec 103: 1048573 bytes 3 times --> 18.47 Mbps in 433080.83 usec 104: 1048576 bytes 3 times --> 19.26 Mbps in 415466.67 usec 105: 1048579 bytes 3 times --> 17.98 Mbps in 444940.17 usec
注意事項
- コマンド実行後にスループット計測が始まらない場合には、作業用PCとArmadilloのネットワークが正常に接続されているか、pingコマンド等を使用して確認してください。
- 作業用PCがWindowsの場合、ファイアウォールが有効になっていると正常に計測できないことがあります。そのため、うまく動作しなかった場合は、ファイアウォールを無効化して試してみてください。
参考情報
- iperfでネットワークのスループットを計測する場合はこちらを参照してください