JavaScript
HTML5
ping
jitter
speedtest

HTML5で回線速度を計測する[speedtest]

概要

回線速度を計測したいが、サーバーは自前で用意したいと思うことはありませんか?(ないよね)
すぐに見つけられたので、備忘録を残しときます。
https://github.com/adolfintel/speedtest
こいつ。サンプルも豊富でドキュメントもあります。

インストール

(webサーバーは普通持ってるよね。)
git clone https://github.com/adolfintel/speedtest
cd speedtest
rm -rf .git

テスト

ブラウザでサンプルを試す。色々サンプルはあるので、試してみてください(書くの疲れた())。
http://speedtest.fdossena.com/
スクリーンショット 2018-06-23 1.35.37.png

カスタマイズ

speedtestのjson読み込みしたあと、実際に計測を開始する際に渡すパラメタで設定ができます。

w.postMessage('start {"param1": "value1", "param2": "value2", ...}')
w.postMessage('start {"test_order": "I_P"}')//ipを測定(I)して1秒後(_)にPing(P)をとる。

参考:実行する計測の種類

test_order: テスト時にどれを実行するか。:
I: IP取得
D: 下りテスト
U: 上りテスト
P: ping + jitter テスト
_: 1秒の遅延を作る
デフォルト: IP_D_U
*1度しか実行されません。
*Firefoxでは上りテストは最後にした方が良いかと。

詳細は”Starting the Test”に。https://github.com/adolfintel/speedtest/blob/master/doc.md

ちなみに、pingとjitterだけ見れるようにしたものです。
私のサービス「MiRm」のユーザーが確認できるようにしたかったので。
https://mirm.info/speedtest/pingtest.html

まとめ

こんなに楽にテストができるなら、一家に一台(?)設置してはいかがでしょう。

参考文献

https://github.com/adolfintel/speedtest/blob/master/doc.md