ネット回線速度を簡単に定期監視する方法 for Windows


はじめに

家のネット回線が夜になると異常に遅くなる(10Mbps以下)時があるので、回線速度を定期監視することにしました
回線に負荷をかけることになるため必要以上に監視を行うことは推奨しません
また本記事の内容にもとづくあらゆる事象につきまして、一切の責任を負いかねますので予めご了承ください

検証環境

  • Windows10 64bit
  • Speedtest by Ookla 1.0.0.2

SPEEDTEST CLIのダウンロード

まずはこちらからSPEEDTEST CLI(Windows用)をダウンロードしてください
https://www.speedtest.net/ja/apps/cli

zipファイルなので適当な場所に展開します

speedtest.exeを実行

初回起動時のみLicense許可を求められるのでYESと入力します

バッチファイルを作成

適当な場所にspeedtestを実行するバッチファイルを作成

speedtest.bat
echo|set /p=%Date% %Time%, >>d:\Log.csv
d:\speedtest.exe -fcsv >>d:\Log.csv

日付時刻が出力されないのでechoで出力、-fcsvで出力形式をCSVに指定
結果をLog.csvに追記で出力してます
ここで試しにバッチファイルを実行するとLog.csvが生成されてこんな感じで書き込まれてるかと思います
2020/10/26 11:46:13.55, "ITS - Tokyo","36871","23.971","0.226","0","2318402","8687647","28282364","119665908","https://www.speedtest.net/result/c/60eafb5e-37c6-41c4-8107-9b3202d98a50"

VBSファイルの作成

バッチファイルをタスクスケジューラに登録してもいいですが、実行するたびにコマンドプロンプトが出てしまうので非表示でバッチファイルを実行するVBSファイルを作成します

speedtest.vbs
Set objWShell = CreateObject("Wscript.Shell")
objWShell.run "cmd /c d:\speedtest.bat", vbHide

タスクスケジューラに登録

最後に一定間隔で実行するためタスクスケジューラに登録します
1.基本タスクの作成

2.タスク名入力

3.トリガー設定

4.開始時刻設定(直近の正時でいいかと思います)

5.操作の設定

6.プログラムの設定(speedtest.vbs)

7.完了後登録したタスクのプロパティを開く

8.トリガーの編集
繰り返し間隔と継続時間を無期限に設定

以上でタスクスケジューラの登録が完了
開始時刻以後、設定間隔でバッチが実行されログが蓄積されていきます

回線速度の確認

CSVをExcelで開くとG列がダウンロード速度、H列がアップロード速度を示しています
計測値はバイト単位なのでMbpsで確認したい場合は8倍して1000000で割ればよいかと思います