Linux で、簡易的にネットワークのスループットを測定する方法。
ettcp を使います。
1. ettcp のソースコードをダウンロード
ettcp (enhanced ttcp) からダウンロード。
2. ビルドしてインストール
$ tar zxvf ettcp-1.0.tar.gz $ cd ettcp-1.0/ $ make # make install
3. 計測
Ether フレームサイズ 1518 バイトの UDP パケットを 10000 個送信して測定する場合の例。
192.168.10.10 から 192.168.10.20 にパケットを送信しています。
UDP のデータサイズ 1472 バイトを小さくしていくと、スループットは落ちていきます。
この例だと、11 MBps (11x8 = 88 Mbit/sec) ってことになります。
送信側
$ ettcp -t -u -l 1472 -s 192.168.10.20 -n 10000 -f m ttcp-t: buflen=1472, nbuf=10000, align=16384/0, port=5001 udp -> 192.168.10.20 nttcp-t: socket nttcp-t: 14720000 bytes in 1.60 real seconds = 70.01 Mbit/sec +++ nttcp-t: 10006 I/O calls, msec/call = 0.16, calls/sec = 6237.51 nttcp-t: 0.0user 1.0sys 0:01real 66% 0i+0d 236maxrss 0+2pf 0+11827csw
受信側
$ ettcp -r -u -s -f m ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 udp nttcp-r: socket nttcp-r: 14703808 bytes in 1.60 real seconds = 69.92 Mbit/sec +++ nttcp-r: 9991 I/O calls, msec/call = 0.16, calls/sec = 6227.42 nttcp-r: 0.0user 1.5sys 0:01real 97% 0i+0d 234maxrss 0+0pf 104+14csw
■ 計測例追記
Ether フレームサイズ 1518 バイトの UDP パケットを 10 秒間送信して測定する場合の例。
送信側
$ ettcp -t -u -l 1472 -s 192.168.10.20 -i 10 -f m
受信側は上の例と同じ。
● ettcp, スループット, 測定, 計測, 簡易, UDP, throughput, rate, packet, frame, ether