家のインターネット回線速度が22時頃に遅い気がするので、
毎日22時頃の回線速度のデータを調べたい。
毎日手動で計測するのは面倒なので、Windows PCで自動的に計測できないかな。
測定結果はファイルに保存して、後で確認できるようにしたいんだ。
インターネット回線速度は、Speedtest などの速度計測サイトで確認できます。しかし、毎日決まった時刻の計測データを確認したい場合には向きません。
上の男性のケースでは、問題の22時頃とそれ以外の時間の回線速度データを一定期間毎日計測することで、実際に22時に遅くなっているかどうか数値で確かめることができます。また、回線事業者に問い合せる際に、測定したデータを提示すれば問題を認識してもらいやすいでしょう。
本記事ではWindows PCのタスクスケジューラと、測定用ツールを使って上の要件を実現する方法を紹介します。なおタスクスケジューラは1から設定すると煩雑で間違いやすいため、インポートしてすぐに使えるサンプルタスクも公開しています。
概要
この例では、タスクスケジューラと「SPEEDTEST CLI」というツールを使います。
タスクスケジューラはWindows標準のツールです。「SPEEDTEST CLI」は、回線速度計測サービスなどを提供するOokla社が無償で公開しているツールです。
タスクスケジューラのタスクで、毎日指定時刻にSPEEDTEST CLIでインターネットの回線速度を計測し、結果をテキストファイルとして保存します(下図はその例)。後述のサンプルでは、毎日12時、19時、22時の3回計測します(PCにログオンしている場合のみ)。
サンプルタスクのダウンロード
タスクスケジューラの設定を1から行うと面倒なので、サンプルタスクファイルを用意しました。以下からダウンロードできます(要ZIP解凍)。インポート方法などは、次項で説明します。
設定方法
SPEEDTEST CLIのダウンロードと配置
前項のサンプルタスクは単体では動作せず、SPEEDTEST CLIが必要です。
SPEEDTEST CLIは、公式のダウンロードページにアクセスし、以下の箇所をクリックしてWindows版をダウンロードします。
ダウンロードしたらZIPファイルを解凍します。サンプルタスクではSPEEDTEST CLIのパスを C:\SpeedTest\speedtest.exe と定義しているので、解凍したフォルダをCドライブ直下に置き、フォルダ名を「SpeedTest」に変更します。下の階層になるように配置して下さい。
SPEEDTEST CLIのライセンス同意(重要)
SPEEDTEST CLIを使うには初回のみライセンス同意の操作が必要です。前項で配置した speedtest.exe を実行すると下図の画面が表示されるので、「YES」と入力しEnterキーを入力します。
その後、初回の回線速度チェックが実行され、自動的にウィンドウが閉じられます。この操作は1回のみ行えばOKです。
この操作をしないと、後述のタスク設定を行っても結果が出力されません。
タスクのインポート
ここからはタスクスケジューラ側の設定です。まず「サンプルタスクのダウンロード」でダウンロードしたファイルをデスクトップなどの任意の場所に解凍します。
次に、タスクスケジューラを起動します(起動方法)。
タスクスケジューラの画面で、右側の操作ウィンドウで「タスクのインポート」をクリックします。(もしくは、メニューの[操作]>[タスクのインポート]でもOK)
ダイアログで、先ほど解凍したXMLファイルを指定します。
下の画面で、必要に応じて赤枠部分のタスクの名前を分かりやすいように設定します(そのままでもいいですが、名前だけは何故か後で変更できません)。ここで実行タイミングなどを修正してもいいですが、次項で改めて解説しますので、とりあえず「OK」ボタンを押します。
下のように「タスクスケジューラ ライブラリ」という位置に、新しいタスクが追加されれば、タスクのインポートは完了です。なお、タスクが表示されていない場合、メニューの[操作]>[最新の情報に更新]などで、表示を更新して下さい。
測定タイミングの変更
インポートしたタスクの測定タイミングを変更するには、タスクスケジューラの「タスクスケジューラライブラリ」に追加されているタスク(表示されていない場合は、画面表示を更新)を右クリックして「プロパティ」を選択します。
サンプルでは、毎日12:00、19:00、22:00の3回測定するよう設定されています。一般的にインターネット回線速度は時刻によって変動するためです。特に22時頃はトラフィックが多くなり遅くなりやすいと言われています。
測定タイミングを変更したい場合は、[トリガー]タブを表示します。変更したい時刻の行をダブルクリックします。
詳細設定画面が開きます。下の赤枠の部分を編集すればOKです。
また、例えば「12:00の測定はいらない」という場合は、トリガーの一覧から12:00の行を選択して「削除」ボタンで消せばOKです。反対に測定タイミングを増やすには、「新規」ボタンから同様のトリガーを追加します。
テスト実行
タスクが正しく実行されるかを確認するには、下のようにタスクを右クリックして「実行する」を選び、テスト実行してみます。
設定に問題がなければ、数十秒程度した後、C:\SpeedTest フォルダに下記のような測定結果のファイルが出力されます。
ファイルを開くと、次のような測定結果が記載されています。下のように、ダウンロード速度やレイテンシを見ると良いでしょう。
複数回実行すると、測定日時ごとの結果ファイルが増えていきます。自動削除はされないので、不要なものは手動で削除して下さい(PCのストレージを圧迫するようなサイズではありませんが)。
サンプルタスクの中身
参考までに、前項のタスクスケジューラのサンプルタスクの設定は次のようになっています。ダウンロードしたXMLを使わずに手動でタスク設定する場合は、参考にして下さい。
プログラム/スクリプト:
powershell
引数:
./speedtest.exe | Out-File ('result_' + (Get-Date -Format 'yyyyMMdd-HHmmss') + '.txt')
オプション:
C:\SpeedTest
[別方式]測定結果をCSV形式で保存する
ここからは参考情報です。上で紹介したサンプルタスクは、1回の測定ごとに1ファイルとして出力されるので、結果を時系列に並べたり、グラフにするには向きません。
難点はありますが、結果をCSVファイルとして蓄積することも一応可能です。参考までに以下のサンプルタスクをダウンロードし、前項と同じ要領で設定することで使えます。
この方式での測定結果はresult.csvというCSVファイルに蓄積されます。イメージは次のようになります。
参考:タスクスケジューラ関連記事
そのほか、タスクスケジューラの使用例や、起こりがちなトラブルの対処方法、その他知っておくと便利なことなどを以下の記事にまとめています。併せてご覧下さい。
おわりに
今回の記事は以上です。
当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。
また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナー」もおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。
最後まで読んでいただき、ありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント