楽天モバイルの回線が不安定なので定期的に回線速度をロギングしてみる事にした
機材はラズパイ4
定番アプリspeedtestのコマンドライン版が存在するのでダウンロード
中身は pyhon のスクリプト
$ date >>log
$ speedtest-cli --no-upload >>log
みたいな感じで延々と記録
ラズパイは有線(光)と無線(楽天モバイル)で繋がっているので実行前後に
# ifconfig eth0 down で有線を止め、確実に無線側にする
# ifconfig eth0 up で戻す
シェルスクリプトにして cron に登録。1時間毎くらいでいいだろう。
生データの出力はこんな感じ
Retrieving speedtest.net configuration...
Testing from NTT (114.148.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by fdcservers.net (Tokyo) [95.58 km]: 34.272 ms
Testing download speed................................................................................
Download: 27.47 Mbit/s
Skipping upload test
数日放置し生ログが溜まってきたら見やすいように加工
テキストデータの加工なので好きな物を使えばいい
大した処理をするわけでもないので今回は awk にしてみた。
15年ぶりくらいなので思い出しつつワンラインで書いた
$ awk 'BEGIN{FS="\n";RS="Skipping upload test"}{printf"%-18s %30s\n",$2,$9}' log
20210103-093011 Download: 35.04 Mbit/s
出力結果がイマイチ美しくないがまぁ自分しかみないしこんなもんだろう
外で結果が見たいので curlftpfs でレンタルサーバーをマウントして上記出力を直接書き出し