測定方法
ネットワークの状態は刻一刻と変わるため、誤差のないスピードテストは存在しません。私たちにできるのは、結果の確からしさを完全に透明にすることです。
Cloudflare のエニーキャストネットワークが、最も近い拠点に自動で接続します。SpeedLens のテストサーバーが有効な場合は、ブラウザが各サーバーに Ping を送り、往復時間の中央値が最も小さいサーバーを選びます。
小さなリクエストを20回送信します。往復時間の中央値を表示し、ジッターは連続するサンプル間の差の平均として算出します。
複数の接続を並行して使い、各リクエストが約 1 秒かかるまで転送サイズを大きくするので、高速回線も使い切れます。転送中の Ping(負荷時の Ping)も測定します。
TCP はゆっくり立ち上がるため、遠いサーバーではフルスピードに達するまで数秒かかることがあります。速度が頭打ちになる地点、つまり定常レベルの 85% に初めて達した 1 秒を見つけ、それ以前の立ち上がりを除外します。除外は最大 4 秒までで、テスト後半の速度低下を除外することはありません。
実際の回線では、データはまとまって届きます。静かな瞬間のあとには、遅れを取り戻すバーストが続きます。どちらも決して捨てず、すべてのバイトを 1 秒単位のステップで合計するため、バーストと途切れは実際の回線と同じように相殺されます。
メインの値は持続スループット、つまりウォームアップ後に届いたデータの総量 ÷ 時間です。95% 信頼区間には、1 秒単位のステップに対する移動ブロック・ブートストラップと Student の t 区間のうち、広いほうを採用します。誤差が ±3% 以内に収まり速度の上昇が止まった時点、または制限時間に達した時点で各方向の測定を終了します。
誤差範囲は95% 信頼区間の幅の半分です。結果が 84.6 Mbps ± 2.1 の場合、同じ条件で繰り返し測定すると、その95% は 82.5〜86.7 Mbps の範囲に収まると見込まれます。
隣り合うサンプルには相関があるため、ムービングブロック・ブートストラップを使用し、さらに Student の t 区間と照合しています。これにより、短いテストやばらつきのあるテストでも、誤差範囲が実際より小さく表示されることはありません。
安定性は、100 から1 秒単位のステップの変動係数(パーセント)を引いた値です。75 以上は安定した回線、45〜75 はやや変動あり、45 未満は不安定な回線で、多くの場合 Wi-Fi や帯域を奪い合う他の端末が原因です。
ライトは最大約 16 MB、マックスは非常に高速な回線では数百 MB を使うことがあります。各方向は数秒で終了し、結果が十分に正確になった時点、または時間上限に達した時点で止まります。正確なデータ上限は開始前に表示され、実際に使ったデータ量は毎回の結果に表示されます。
同じ端末・同じ回線で SpeedLens と基準となるテストを交互に実行し、時間帯による影響を相殺して比較しています。目標は差の中央値 3% 以下です。検証結果は完了しだい、このページで公開します。
履歴はお使いのブラウザに保存されます。保存された結果には、IP アドレスをソルト付きで不可逆にハッシュ化した値のみを保持します。測定結果を Cloudflare の結果サービスに送信することはありません。