Network
centos7
performance
speedtest

定期的にネットワーク速度をチェックして後でまとめて閲覧したい

More than 1 year has passed since last update.

家のネットワーク速度を計測しよう

最近、夜にネットが非常に重たい。SpeedTestかけると1Mbps行かないこともしばしば・・・。
何曜日の何時頃にどれぐらい重たいとか調べて、その間はインターネットしない生活しようと計画しました。

概要

CentOS7でpip入れてspeedtest-cli入れてcronで定期実行、出力は可能な限り見やすくする。

事前準備

speedtest コマンドが使えるように準備。
rootで作業してます。一般ユーザーであれば適宜sudoをしてください。

yum install epel-release
yum install python2-pip
pip install --upgrade pip
pip install speedtest-cli

speedtest 実行結果を見やすく、後で再利用しやすい形にしたいため moreutils も入れておく。

yum install moreutils

スクリプト準備

/root/bin/ に設置して、 /root/speedtest/ 以下に結果を保存する前提。

save-speedtest.sh
#!/bin/sh

save_path=/root/speedtest/$(date +'%Y%m%d')/$(date +'%Y%m%d-%H%M%S.txt')
mkdir -p $(dirname $save_path)
/usr/bin/speedtest | ts '%Y-%m-%dT%H:%M:%S' > $save_path 2>>/root/speedtest_error.txt

このスクリプトをcronで定期実行させます。(省略)

計測結果の閲覧方法

とりあえず、Downloadだけ。

grep -Rh Download /root/speedtest

以下のような出力が得られます。

2017-06-22T23:57:30 Download: 8.66 Mbit/s
2017-06-23T00:01:01 Download: 2.08 Mbit/s
2017-06-23T00:01:00 Download: 3.10 Mbit/s
2017-06-23T00:20:21 Download: 4.90 Mbit/s
2017-06-23T00:20:53 Download: 6.92 Mbit/s

タイムスタンプはRubyで Time.parse できる形にしてます。
後でグラフ化とかしたくなったときのためです。
詳しく見たくなったらRubyスクリプトでも書こうかと思います。

あとがき

データがとれたら、あとはデータをニンマリしながら見るだけですね。