MySpeedは継続的にインターネットの回線速度を計測・記録してくれるツールです。どんなアプリなのか、実際に使って試してみました。

gnmyt/myspeed: A speed test analysis software that shows your internet speed for up to 30 days

https://github.com/gnmyt/myspeed

今回はWindowsで動作を試すので、「Installation」の項目にある「Windows」をクリックします。



Windowsマシンへのインストール手順が解説されているので、この手順に従って進めていきます。



最初にNode.jsのインストールが必要とのこと。Node.jsの公式サイトへ行き、「LTS」と書かれたバージョンのボタンをクリックします。



実行ファイルがダウンロードされるので、ダブルクリックして実行。



セットアップウィザードが起動します。「Next」をクリック。



クリックしてチェックマークを付け「Next」をクリック。



「Next」をクリック。



標準で全てのコンポーネントがインストールされるので、そのまま「Next」をクリック。



ライブラリの中には使用時にCやC++のソースコードからコンパイルするものもあり、Node.jsのインストール時にCやC++のコンパイル環境を整えるかについても設定できます。今回はコンパイルが必要なライブラリを使用しないのでチェックを付けずに「Next」をクリックしました。



「Install」をクリック。



これでNode.jsのインストールが完了しました。「Finish」をクリックしてセットアップウィザードを終了します。



続いてMySpeedをダウンロードします。ガイドの2番目の項目にある「here」をクリック。



自動で最新版のファイルへ移動するので、「MySpeed-x.x.x.zip」と書かれたzipファイルをクリックしてダウンロードします。



ダウンロードしたファイルを選択し、「すべて展開」をクリック。



展開先のフォルダを選択して「展開」をクリックします。



展開後のファイルが表示されたら、何もない部分で「Shift+右クリック」してメニューを表示し、「PowerShellウィンドウをここで開く」をクリック。



PowerShellに「npm install」と入力してエンターキーを押します。1分ほどで必要なライブラリがインストールされ、「added 299 packages」と表示されました。



続いて「:NODE_ENV="production"; node server」と入力してMySpeedを起動します。「Server listening on port 5216」と表示されれば起動完了。



「http://localhost:5216」にアクセスするとMySpeedの画面が表示されます。利用規約への同意を求められるので「Accept」をクリック。



起動直後の画面はこんな感じ。右上のスピードメーターのマークをクリックしてスピードテストを行います。



スピードテストが完了し、「Ping」「ダウンロード速度」「アップロード速度」「テスト時刻」が表示されました。PingおよびUploadは「良好」を示す緑色で表示されてますが、Download速度は黄色表示となっています。なお、今回のスピードテストはNuro光の2Gプランを契約している回線で行いました。



手動でテストを行うほか、標準設定では1時間ごとに自動でテストが行われます。テストの結果は画面の下部にどんどん記録されていきます。



右上の設定マークをクリックしてみます。



するとさまざまな設定を変更できるメニューが表示されました。



「Optimal〜」の3つは「良好」を示す緑色で表示するしきい値の設定です。Pingの場合の初期値は25で、25ms以下であれば良好という判定になります。



上り速度の初期設定は50Mbpsでした。



下りは100Mbpsです。初回のスピードテストでは下りの速度がこの設定よりも遅かったから黄色表示になっていたというわけ。



「Recommendations」では3つのOptimalの値の推奨値が表示されるはずなのですが、10回以上テストして平均を取るのが良いというアドバイスが書かれているだけでした。



10回テスト後にもう一度表示してみると今度は推奨値が表示されました。



「Change Server」ではスピードテストを行うサーバーを手動で設定することが可能です。



「Change password」ではパスワードを設定することができます。



パスワードを設定すると、ダッシュボードへのアクセス時にパスワードを要求されるようになります。



「Set frequency」では、どの程度の間隔でスピードテストを行うのかを設定可能。



なお、テンプレートとして用意されている「1分ごと」「30分ごと」「1時間ごと」「3時間ごと」「6時間ごと」のほか、crontabと同様の記法でも記載できます。



「Set period」ではテストの結果を保存する期間を選択可能。最大で30日分のデータを保存できますが、7日・30日の設定では平均値のみ保存される模様。



「Export tests」ではテスト結果をJSON形式かCSV形式でエクスポートできます。



「Pause tests」では一定時間テストを停止することが可能。



「Integrations」ではDiscordやGotify、HealthChecks、Telegramなどのアプリに通知を飛ばす設定が可能です。このほか、Webhookが利用できるのであればどんなアプリにも通知を飛ばすことができます。



通知はテストの成功時とエラー時に行われます。メッセージをカスタムすることも可能です。



言語設定では英語かドイツ語を選択できます。



「Switch View」では初期の「Test Overview」画面のほか、「Test statistics」画面を選択可能。Test statisticsを選択して「Update」をクリックしてみます。



こんな感じの画面になりました。テスト結果をグラフ形式で分かりやすく表示してくれます。



Pingの推移やダウンロード速度・アップロード速度の最大値・最小値・平均値も表示されています。



最後の「About the project」では制作者が「GNMYT」さんであることとアプリでOoklaの「Speedtest CLI」を使用していることが表示されていました。