ubuntu:ネットワーク帯域幅の測定
Table of Contents
概要
- 2つのコンピュータの間の通信速度を測定する方法です
- より正確な測定のため、測定時はほかの通信が起こらないように注意してください
- 測定する通信先のコンピュータのIPアドレス(あるいはホスト名)を xxx.xxx.xxx.xxx とします
pingを使う方法
概算になりますが、計測に必要なソフトを別に入れる必要がないのでお手軽です。 ただし誤差が非常に大きいので注意して使いましょう(場合によっては数倍ずれるので、オーダーだけ見ると良いと思います)。
pingコマンドのオプションは次のとおりです
- -c … データを送る回数
- -s … データのサイズ(最大65507バイト)。ただし実際に送られるデータはこれにIPヘッダ20バイトとICMPヘッダ8バイトが加わる
実際に次のように測定します
$ ping -c 10 -s 65507 xxx.xxx.xxx.xxx PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) 65507(65535) bytes of data. 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=63 time=3.11 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=63 time=3.07 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=4 ttl=63 time=3.21 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=5 ttl=63 time=3.17 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=6 ttl=63 time=3.21 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=7 ttl=63 time=3.18 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=8 ttl=63 time=3.12 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=9 ttl=63 time=3.21 ms 65515 bytes from xxx.xxx.xxx.xxx: icmp_seq=10 ttl=63 time=3.16 ms --- xxx.xxx.xxx.xxx ping statistics --- 10 packets transmitted, 9 received, 10% packet loss, time 9023ms rtt min/avg/max/mdev = 3.072/3.165/3.218/0.060 ms
この場合は毎回65507+20+8=65535バイトのデータが送信されます。 一回の送受信に平均3.165ミリ秒かかっていて、1バイトは8ビットですから、この場合は通信速度として
65535 * 8 * 2 / 3.165 / 1000 = 約 331 Mbps
が得られます。
iperf3を使う方法
より正確に2つのコンピュータの間の通信速度を測定できます。
データを送信する側(クライアント側。sender)、受信する側(サーバ側。receiver)の両方にiperf3をインストールします。
$ sudo apt intall iperf3
データを受信するコンピュータ(receiver)で、以下のコマンドを実行します
$ iperf3 -s
データを送信するコンピュータ(sender. IPアドレスが192.168.0.1とします)で、以下のコマンドを実行します
$ iperf3 -c xxx.xxx.xxx.xxx Connecting to host xxx.xxx.xxx.xxx, port 5201 [ 5] local 192.168.0.1 port 37918 connected to xxx.xxx.xxx.xxx port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.10 GBytes 9.42 Gbits/sec 2 1.40 MBytes [ 5] 1.00-2.00 sec 1.10 GBytes 9.42 Gbits/sec 3 1.44 MBytes [ 5] 2.00-3.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.49 MBytes [ 5] 3.00-4.00 sec 1.10 GBytes 9.42 Gbits/sec 1 1.51 MBytes [ 5] 4.00-5.00 sec 1.09 GBytes 9.41 Gbits/sec 2 1.56 MBytes [ 5] 5.00-6.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.57 MBytes [ 5] 6.00-7.00 sec 1.10 GBytes 9.42 Gbits/sec 4 1.62 MBytes [ 5] 7.00-8.00 sec 1.10 GBytes 9.42 Gbits/sec 14 1000 KBytes [ 5] 8.00-9.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.49 MBytes [ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 5 1.62 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 11.0 GBytes 9.42 Gbits/sec 31 sender [ 5] 0.00-10.04 sec 11.0 GBytes 9.37 Gbits/sec receiver iperf Done.
この場合、senderからデータを送る速さが9.42Gbps, receiverからデータが送り返されてくる速さが9.37Gbpsであることがわかります。
receiverのiperf3を終了するには Ctrl+c を入力します。
ubuntu/ネットワーク帯域幅の測定.txt · Last modified: 2022/11/27 00:17 by koudai