ネットワークのパフォーマンスを測定するツール。
ネットワークといっても、二つのノード間の速度を測定するものである。
ネットワークを測定するツールは専用ツールしかないと思っていたんだけど、ttcpなるコマンドを発見。発見というほどでもなく昔っからあるツールで知らなかっただけだった。
というわけで導入してみた。
インストールディスクに入っているらしいのであるが、プリインストールマシンだったので、ディスクはない。
購入したときにバックアップを作成したので、もしかしたら何処かにあるかもしれないのであるが面倒だったので、もう少し調べてみるとCygwinにもttcpがあることが分かった。
普段からviを使いたい(爆)ので導入していた。でもttcpは入れていなかったので、再度Cygwinのsetup.exeを起動してttcpをチェックする。Cygwinのsetupに従ってインストールされた。
とりあえずターミナルでコマンドをたたいてみたが、入ってなかった。
ソースからコンパイルするかとも思ったが、darwinportsを利用してみる。
darwinportsからdarwinportsをダルンロードしてきてインストールする。
ターミナルからttcpのインストールを実行する。
% cd /opt/local/bin/portslocation/dports/ttcp % sudo port install ttcp Password:
受信側の準備
$ ttcp -r -s ttcp-r: buflen=8192, rbuf=2048, align=16384/0, port=5001 tcp ttcp-r: socket : :
送信側の準備
% ttcp -t -s node.ip.address ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> node.ip.address ttcp-t: socket ttcp-t: connect ttcp-t: 16777216 bytes in 0.37 real seconds = 44378.47 KB/sec +++ ttcp-t: 2048 I/O calls, msec/call = 0.18, calls/sec = 5547.31 ttcp-t: 0.0user 0.0sys 0:00real 2% 0i+0d 0maxrss 0+0pf 557+0csw
というわけで、16MBのランダムデータ(-sオプション)を送信するのにかかった時間が表示される。 あっという間に終わってしまうので、
ttcp -t -s -n20480 node.ip.address
とすることで、160MBのデータを送信してみると、実時間は、0.37秒から3.62秒となっている。
Mac -> WinとWin -> Macでは転送速度が大分違うので、パフォーマンスの差はマシンの差でもあるんでしょうね。 そうだ、今度BootCampでもやってみよっと。
先のスループットは、HUB経由だった。
Atom君ルータでやってみた。送信側と受信側の環境は同じ。
iMac === HUB === Atom === Win
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> node.ip.addr ttcp-t: socket ttcp-t: connect ttcp-t: 16777216 bytes in 1.65 real seconds = 9946.70 KB/sec +++ ttcp-t: 2048 I/O calls, msec/call = 0.82, calls/sec = 1243.34 ttcp-t: 0.0user 0.0sys 0:01real 1% 0i+0d 0maxrss 0+0pf 3438+0csw
うむ約1/5になるのね。
考察はもうちょっと勉強してからだな。