Netperfを使おう!
ネットワークベンチマークソフト。特定のホスト間でTCPやUDPのベンチマークを行う場合に便利。
大学時代は大変お世話になりました。
UDPでの測定は、-mオプションを使うこと!要注意。
UDPでの計測はiperfの方がオススメです。
インストール方法
Amazon Linuxへのインストール
yum install netperf
Macの場合
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
brew install netperf
コマンドライン
基本的な使い方
1.netserverをサーバー側で起動
2.送信側でnetperfコマンドをで測定方法に合わせて起動する
それぞれ以下を参照して下さい。
サーバ
- netserverを実行する
$ netserver
クライアント
$ netperf -H <server IP addr>
使用例
TCPでの測定
送信側(クライアント)は以下のコマンドを実行します。
$ netperf -H 192.168.1.32
UDPでの測定
送信側(クライアント)は以下のコマンドを実行します。
$ netperf -H 192.168.1.32 -t UDP_STREAM -- -m 1024
※注意: デフォルトでは9216バイトのUDPパケットが送出されてしまうので、 "-m"オプションで各ネットワークのMTUを指定して下さい。;
デフォルトの使用ポート12865番ですが、変えたい場合のオプションは"-p"となります。
結果の見方
- TCPでの結果
TCP STREAM TEST to 172.29.34.138 Recv Send Send Socket Socket Message
Elapsed Size Size Size Time Throughput bytes bytes bytes secs.
10^6bits/sec 87380 16384 16384 10.00 94.13
(1) (2) (3) (4) (5)
(1)受信ソケットサイズ(byte)
(2)送信ソケットサイズ(byte)
(3)送信メッセージ(byte)
(4)計測時間
(5)実効帯域
- UDPでの結果
UDP UNIDIRECTIONAL SEND TEST to 172.29.34.138 Socket Message
Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs
# # 10^6bits/sec 65535 1024 10.00 114702 0 93.97 65535 10.00 114702 93.97
(a) (b)
(a)送信した帯域
(b)受信できた帯域(実効帯域)
とりあえずUDPでの帯域は(b)を見ればよい