■debian stretchでスピードテストを行うツールを検討してみる。 $ lsb_release -d Description: Debian GNU/Linux 10 (buster) ■今回試すspeedtestは7つ。 fastパッケージは見つからず、検索結果が多くなるので除外。 NetSpeedも検索結果にはあるが、GUIなので除外。 視点を変えてみるのも面白いが、現状として、結果的にはwget/curlで十分。 Monitoring Network Bandwidth and Speed in Linux https://itsfoss.com/network-speed-monitor-linux/ $ echo -e "NetSpeed\nspeedtest-cli\nnethogs\n^nload\n^cbm\n^iperf\nvnstat\niftop" | \ awk '{a=index($1,"^")+1;print "echo \042["NR-1,substr($1,a)"]\042;apt-cache search "$1}' | sh [0 NetSpeed] cairo-dock-netspeed-plug-in - Netspeed plug-in for Cairo-dock gnome-applets - Various applets for the GNOME panel - binary files mate-applets - Various applets for the MATE panel mate-applets-common - Various applets for the MATE panel (common files) [1 speedtest-cli] speedtest-cli - Command line interface for testing internet bandwidth using speedtest.net [2 nethogs] nethogs - Net top tool grouping bandwidth per process [3 nload] nload - realtime console network usage monitor [4 cbm] cbm - display in real time the network traffic speed cbmc - bounded model checker for C and C++ programs [5 iperf] iperf - Internet Protocol bandwidth measuring tool iperf3 - Internet Protocol bandwidth measuring tool [6 vnstat] vnstat - console-based network traffic monitor vnstati - image output support for vnStat [7 iftop] iftop - displays bandwidth usage information on an network interface ■1 speedtest-cli Webサービスもあるものの、基本的にはソケットテスト。 プロキシを通過しないし、IPv6での接続を試みるなど、FW等でブロックされる私の環境には向かないツール。 SPEEDTEST https://www.speedtest.net/ $ sudo apt-get install -y speedtest-cli $ speedtest --version 2.0.2 ■計測出来なかったので、何をしているか見たときのコマンド。 $ strace speedtest-cli --simple --secure | tee -a speedtest-cli.log ■ヘッダが無いので付けてみる。 ※距離は使用する環境によって異なる。 $ speedtest --list | awk 'BEGIN{print " ID) 組織名(市町村区, 国名) [距離 km]"}/Japan/{print $0}' ID) 組織名(市町村区, 国名) [距離 km] 14623) IPA CyberLab (Bunkyo, Japan) [20.54 km] 24333) Rakuten Mobile , Inc (Tokyo, Japan) [24.93 km] 15047) OPEN Project (via 20G SINET) (Tokyo, Japan) [24.93 km] 32907) KFNET (Tokyo, Japan) [24.93 km] 33558) Gnehc LLC (Tokyo, Japan) [24.93 km] 7139) SoftEther Corporation (Tsukuba, Japan) [29.60 km] 6087) Allied Telesis Capital Corporation (Fussa-shi, Japan) [44.67 km] 8407) Allied Telesis Capital Corporation (Sagamihara, Japan) [51.65 km] 6766) JAIST(ino-lab) (Nomi, Japan) [297.74 km] 24774) Local24 Inc., (Kyoto, Japan) [377.08 km] 6405) Allied Telesis Capital Corporation (Misawa, Japan) [550.41 km] 18709) extride inc (Hitoyoshi, Japan) [926.32 km] 6581) haza (Haebaru, Japan) [1573.40 km] 21118) GLBB Japan (Naha, Japan) [1575.13 km] 30230) Lequios (Naha City, Japan) [1575.13 km] 31181) Allied Telesis Capital Corp. (Okinawa, Japan) [1580.89 km] ■2 nethogs リアルタイムで閲覧できる。簡単にログにできないのは残念。 $ sudo apt-get install -y nethogs $ sudo nethogs NetHogs version 0.8.5-2+b1 PID USER PROGRAM DEV SENT RECEIVED 2561 labunix ..sr/lib/firefox-esr/fire br0 5.171 10.757 KB/sec ? root ..2.31.31.90:39810-192.16 0.058 0.045 KB/sec ? root unknown TCP 0.000 0.000 KB/sec TOTAL ■3 nload これもリアルタイム重視だけど、最小、最大、平均が分かるのは良い。 $ sudo apt-get install -y nload $ nload -t 2000 Device br0 [172.31.31.XXX] (1/6): ================================================================================ Incoming: Curr: 180.73 kBit/s Avg: 180.00 kBit/s Min: 1.84 kBit/s Max: 685.42 kBit/s . Ttl: 95.80 MByte Outgoing: Curr: 147.13 kBit/s Avg: 40.08 kBit/s Min: 1.91 kBit/s Max: 147.13 kBit/s Ttl: 9.94 MByte ■4 cbm インターフェイスごとのリアルタイムツール。 $ sudo apt-get install -y cbm $ cbm | tee -a cbm.log $ tac cbm.log $ Interface Receive Transmit Total eth0 76.38 kB/s 1.61 kB/s 77.99 kB/s tap0 0.00 B/s 0.00 B/s 0.00 B/s br0 71.94 kB/s 1.45 kB/s 73.39 kB/s lo 0.00 B/s 0.00 B/s 0.00 B/s docker0 0.00 B/s 0.00 B/s 0.00 B/s br1 0.00 B/s 0.00 B/s 0.00 B/s Interface eth0 Address N/A Up/down | q Quit | b Bits/Bytes | +- Update interval (1000ms) ■5 iperf サーバ、クライアント型。iperfとiperf3の違いは以下にあるので、iperf3をそのまま使うことにする。 iperf3の使い方まとめ https://www.lifull.blog/entry/2014/02/07/120719 $ sudo apt-get install -y iperf3 $ iperf3 -s ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- $ iperf3 -c kvm-stretch Connecting to host 192.168.100.XXX, port 5201 [ 5] local 172.31.31.XXX port 54890 connected to 192.168.100.XXX port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 88.0 MBytes 738 Mbits/sec 0 342 KBytes [ 5] 1.00-2.00 sec 86.7 MBytes 728 Mbits/sec 0 356 KBytes [ 5] 2.00-3.00 sec 87.3 MBytes 732 Mbits/sec 0 356 KBytes [ 5] 3.00-4.00 sec 87.4 MBytes 733 Mbits/sec 0 356 KBytes [ 5] 4.00-5.00 sec 85.9 MBytes 721 Mbits/sec 0 356 KBytes [ 5] 5.00-6.00 sec 87.3 MBytes 732 Mbits/sec 0 356 KBytes [ 5] 6.00-7.00 sec 86.6 MBytes 727 Mbits/sec 0 356 KBytes [ 5] 7.00-8.00 sec 87.1 MBytes 730 Mbits/sec 0 373 KBytes [ 5] 8.00-9.00 sec 88.2 MBytes 740 Mbits/sec 0 389 KBytes [ 5] 9.00-10.00 sec 86.5 MBytes 726 Mbits/sec 0 389 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 871 MBytes 731 Mbits/sec 0 sender [ 5] 0.00-10.04 sec 870 MBytes 726 Mbits/sec receiver iperf Done. ■サーバ側 Accepted connection from 172.31.31.XXX, port 54888 [ 5] local 192.168.100.XXX port 5201 connected to 172.31.31.XXX port 54890 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 82.9 MBytes 695 Mbits/sec [ 5] 1.00-2.00 sec 86.7 MBytes 728 Mbits/sec [ 5] 2.00-3.00 sec 87.5 MBytes 734 Mbits/sec [ 5] 3.00-4.00 sec 87.1 MBytes 731 Mbits/sec [ 5] 4.00-5.00 sec 86.2 MBytes 723 Mbits/sec [ 5] 5.00-6.00 sec 87.1 MBytes 731 Mbits/sec [ 5] 6.00-7.00 sec 86.9 MBytes 729 Mbits/sec [ 5] 7.00-8.00 sec 87.0 MBytes 730 Mbits/sec [ 5] 8.00-9.00 sec 87.5 MBytes 734 Mbits/sec [ 5] 9.00-10.00 sec 87.0 MBytes 730 Mbits/sec [ 5] 10.00-10.04 sec 3.75 MBytes 726 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.04 sec 870 MBytes 726 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- ■6 vnstat sysstat同様にデータを貯める必要がある。 vnStat https://humdi.net/vnstat/ $ sudo apt-get install -y vnstat $ vnstat rx / tx / total / estimated tap0: Not enough data available yet. br1: Not enough data available yet. eth0: 6月 '20 4.56 MiB / 994 KiB / 5.54 MiB / 0 KiB today 4.56 MiB / 994 KiB / 5.54 MiB / -- docker0: Not enough data available yet. br0: 6月 '20 4.36 MiB / 963 KiB / 5.30 MiB / 0 KiB today 4.36 MiB / 963 KiB / 5.30 MiB / -- ■sysstatで取れているので、あえてのvnstatは必要無いかも。 $ env LANG=C sar -n DEV 1 -f /var/log/sysstat/sa31 | awk '/IFACE|Average/' 00:00:02 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil Average: virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 7.88 7.88 0.46 0.46 0.00 0.00 0.00 0.00 Average: br0 84.48 72.76 232.87 5.58 0.00 0.00 0.00 0.00 Average: virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: br1 0.00 0.04 0.00 0.01 0.00 0.00 0.00 0.00 Average: tap0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: eth0 176.85 73.01 240.68 5.89 0.00 0.00 0.04 0.20 22:25:02 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil Average: eth0 20.14 12.39 17.91 1.85 0.00 0.00 0.03 0.01 Average: tap0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: br0 13.71 12.23 17.22 1.79 0.00 0.00 0.00 0.00 Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: br1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ■[7 iftop] ネットワーク使用量な感じなので、速度とは異なる気がする。 $ sudo apt-get install -y iftop $ sudo iftop 12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb └──────────────────────────┴──────────────────────────┴──────────────────────────┴──────────────────────────┴────────────────────────── 192.168.100.200 => 172.31.31.90 10.5Kb 10.9Kb 10.8Kb <= 3.86Kb 4.14Kb 5.73Kb 192.168.100.200 => 172.31.31.252 876b 755b 1.13Kb <= 1.49Kb 1.41Kb 2.28Kb 192.168.100.200 => 104.244.42.72 0b 120b 75b <= 0b 120b 75b 192.168.100.200 => 203.104.153.77 0b 83b 52b <= 0b 150b 94b 192.168.100.200 => xx-fbcdn-shv-01-nrt1.fbcdn.net 0b 114b 143b <= 0b 114b 117b 192.168.100.200 => 193.244.178.107.bc.googleusercontent.com 0b 114b 72b <= 0b 114b 72b 192.168.100.200 => 227.201.107.34.bc.googleusercontent.com 0b 114b 72b <= 0b 114b 72b 192.168.100.200 => 231.220.107.34.bc.googleusercontent.com 0b 114b 72b <= 0b 114b 72b 192.168.100.200 => nrt12s22-in-f19.1e100.net 0b 114b 72b <= 0b 114b 72b 192.168.100.200 => 27.133.135.55 0b 101b 63b <= 0b 101b 63b 192.168.100.200 => ec2-18-180-250-24.ap-northeast-1.compute.amazonaws.c 0b 120b 75b <= 0b 78b 49b ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── TX: cum: 30.1KB peak: 26.9Kb rates: 11.4Kb 12.6Kb 15.1Kb RX: 20.3KB 27.4Kb 5.35Kb 6.55Kb 10.2Kb TOTAL: 50.4KB 54.3Kb 16.8Kb 19.2Kb 25.2Kb