Speed Is a Feature
サイトが高速であることが求められています。サイトが高速であるとこのような利点があります。
-
ユーザー エンゲージメントの向上につながります。
(ユーザー エンゲージメント:ウェブページがフォーカス状態にあった時間、またはアプリの画面がフォアグラウンド表示されていた時間の長さ) -
ユーザー維持率の向上につながります。
-
コンバージョン率も高くなります。
サイトを高速にするためにはどこを改善すればいいでしょうか? -
レイテンシ
(データ転送における指標のひとつで、転送要求を出してから実際にデータが送られてくるまでに生じる、通信の遅延時間のこと) -
帯域幅
(通信するときに使われる電波や光の周波数の範囲のこと)
要するに下の図のように長さを短く幅を太くすれば高速に多くつながるよねという考え
これはパケットが
The Many Components of Latency
レイテンシは時間の定義ですがそこにはたくさんの要素があります。
- 伝搬遅延 : データがある地点からある地点まで到達するのにかかる物理的な時間
- 伝送遅延 : 信号が行き先へ到達するために必要な時間間隔
- 処理遅延 : パケット ヘッダーの処理、ビットレベルのエラーのチェック、パケットの宛先の決定に必要な時間
- キューイング遅延 : パケットが出力インタフェースのキューに入っている時間
Speed of Light and Propagation Latency
- 光速は真空中で約30万キロメートル/秒だが、銅線や光ファイバーなどの媒体を通ると遅くなる。これは媒体の屈折率と呼ばれる値によって決まる。
- 光ファイバーの屈折率は1.4から1.6の間で変化し、光速は約20万キロメートル/秒になる。これは最大速度に近い驚くべき技術的成果である。
- 光ファイバーを使ってニューヨークからシドニーまでパケットを送ると、往復で約160ミリ秒かかる。しかし、これは最短距離を仮定した場合であり、実際にはもっと長いルートを経由するため、遅延は200~300ミリ秒になる。
- 人間は100~200ミリ秒以上の遅延を感じると不快になり、300ミリ秒以上では反応が鈍くなり、1000ミリ秒以上では別のことに注意が移ってしまう。
- ユーザーの体験を向上させるためには、アプリケーションが数百ミリ秒以内に応答する必要がある。そのためには、ネットワーク遅延を管理し、開発のすべての段階で設計基準として考慮する必要がある。
Last-Mile Latency
- 真空中の光速はネットワークパケットの伝播時間に上限を設けるが、高速である。
- しかし、銅線や光ファイバーなどの媒体を通ると光速は遅くなり、媒体の屈折率によって決まる。
- 光ファイバーでは屈折率を低くすることで光速に近づけているが、それでもニューヨークからシドニーまでの往復では約160ミリ秒かかる。
- 人間は100ミリ秒以上の遅延を感じると不快になり、1000ミリ秒以上では注意が別のことに移る。
- ユーザーの体験を向上させるためには、アプリケーションが数百ミリ秒以内に応答する必要がある。そのためには、ネットワーク遅延を管理し、開発のすべての段階で設計基準として考慮する必要がある。
Bandwidth in Core Networks
- 光ファイバーは光を伝送するための細いケーブルであり、金属線よりも信号損失や電磁干渉が少なく、メンテナンスコストも低い。
- 光ファイバーは波長分割多重化という技術で多くの波長(チャンネル)の光を同時に送ることができ、高い帯域幅を持つ。一本の光ファイバーで数十テラビット/秒の帯域幅を実現できる。
- 光ファイバーは大陸や海を横断する長距離の通信に使われている。しかし、最終的には金属線に接続されるため、遅延が発生する。これは最終マイル問題と呼ばれる。
- 最終マイル問題はISPの技術やネットワークの構成によって異なるが、10~65ミリ秒の遅延が発生することがある。この遅延はユーザーの体験に影響するため、注意する必要がある。
Bandwidth at the Network Edge
-インターネットの中核をなす光ファイバーは数百テラビット/秒のデータを移動できるが、ネットワークの端では帯域幅がずっと少なく、技術によって大きく異なる。
- 光ファイバーは波長分割多重化という技術で多くの波長(チャンネル)の光を同時に送ることができ、高い帯域幅を持つ。一本の光ファイバーで数十テラビット/秒の帯域幅を実現できる。
- しかし、ユーザーに届くまでに金属線に接続されることが多く、遅延が発生する。これは最終マイル問題と呼ばれる。
- 最終マイル問題はISPの技術やネットワークの構成によって異なるが、10~65ミリ秒の遅延が発生することがある。この遅延はユーザーの体験に影響するため、注意する必要がある。
Delivering Higher Bandwidth and Lower Latencies
- 動画ストリーミングの人気の高まりにより、高い帯域幅の需要が増えている。しかし、帯域幅は光ファイバーや金属線などの技術やネットワークの構成によって制限される。
- 帯域幅を増やすためには、光ファイバーを増やしたり、波長分割多重化という技術を改良したりすることができる。光ファイバーは数百テラビット/秒のデータを移動できるが、金属線に接続されることが多い。
- 遅延を改善するためには、光ファイバーの品質を向上させたり、最短距離のルートを選んだりすることができる。しかし、光速は遅延の最小値を決めるため、大きな改善は期待できない。
- アプリケーションのパフォーマンスを向上させるためには、帯域幅と光速の制限を考慮したプロトコルやネットワークコードを設計し、最適化する必要がある。キャッシュやプリフェッチなどの技術を使って遅延を隠すこともできる。