背景
概要
東京と大阪に配置した2台のサーバ(AWS EC2)に対し、
- tokyo.jpcdn.jp
- osaka.jpcdn.jp
ストリーミング用CDNに使用可能である以下の技術を使い振り分けを行います:
- GeoIP
- プレイヤーによるレイテンシチェック
- プレイヤーサイドマルチCDN
結果
再生ボタンを押してください。20秒後に結果が表示されます見方
- GeoIP関連
- Geo info
- GeoLite2 Cityの結果(使っているのは都道府県情報)
- クレジット「この製品には MaxMind が作成した GeoLite2 データが含まれており、http://www.maxmind.com から入手いただけます」
- GeoLite2 Cityの結果(使っているのは都道府県情報)
- Geo based server
- 上記情報と都道府県庁間の距離により、tokyoとosakaに割り振り
- tokyo.jpcdn.jp
- 北海道、青森、岩手、宮城、秋田、山形、福島、茨城、栃木、群馬、埼玉、千葉、東京、神奈川、新潟、富山、福井県、山梨、長野、静岡
- osaka.jpcdn.jp
- 石川、岐阜、愛知、三重、滋賀、京都、大阪、兵庫、奈良、和歌山、鳥取、島根、岡山、広島、山口、徳島、香川、愛媛、高知、福岡、佐賀、長崎、熊本、大分、宮崎、鹿児島、沖縄
- tokyo.jpcdn.jp
- JP以外や県情報が不明はすべてtokyoに割り振り
- 上記情報と都道府県庁間の距離により、tokyoとosakaに割り振り
- Geo info
- レイテンシ関連
- Tokyo latency
- https://tokyo.jpcdn.jp/ (AWS東京リージョン)へのheadリクエストにかかった時間
- Osaka latency
- https://osaka.jpcdn.jp/ (AWS大阪リージョン)へのheadリクエストにかかった時間
- Latency based server
- 上記二つのレイテンシを比較し早かったサーバを割り振り
- Tokyo latency
- プレイヤーサイドマルチCDN
- 以下の二つのフェイズでチャンクのダウンロードを行います
- 計測フェイズ
- TokyoサーバとOsakaサーバから一定量のチャンクを交互にダウンロードし、それらの速度を計測します
- メインフェイズ
- 早い方のサーバのみからチャンクをダウンロードします
- 計測フェイズ
- 補足
- 各チャンクのダウンロードスピードについてはDeveloper console(F12)に出力させています。
- 以下の二つのフェイズでチャンクのダウンロードを行います
結果報告(暫定)
10月8日~10日までの計測結果からの知見です:
- 計測について(再掲)
- 基本収集データ
- Geo:GeoIP情報
- Latency:東京と大阪にhttps headをした時のレイテンシ
- Throughput:東京と大阪からチャンクをダウンロードした時の速度(それぞれ2個分)
- サーバ選択
- Geo選択:県情報(都道府県庁間の距離)でサーバを選択
- Latency選択:レイテンシが短いサーバを選択
- Throughput選択:ダウンロード速度が速いサーバを選択
- 基本収集データ
- 有効データ
- 以下の条件でフィルタ後のデータ数:31
- IPv4のみ、動画再生まで実施、同一IPブロックからの連続した計測は最後のもののみ
- 生データ
- 匿名化したものを次のグループ専用で公開しています
- 以下の条件でフィルタ後のデータ数:31
- 検証の視点と考察
- Geoでサーバを割り振った結果は正しかったのか(Geo選択とThroughput選択は同じ結果になったか)?
- 77%(24/31)
- 考察:直観的にはこんなもの?GeoIPの県情報ベースで、東西を割り振っておけば8割弱ぐらいは上手くゆく?
- LatecnyとThroughputの相関関係(Latency選択とThroughput選択は同じ結果になったか?)
- 52%(16/31)
- 考察:今回のLatency計測は、HTTPS Headのリクエストを1回行うだけであり、サーバもEC2 t2.microというパワーの無いものである。そのため、Latency計測としては精度が悪かったと思われる。
- 両方法の比較
- データ数が少ない(31個)のため結論付けはできないが、今回の実験では、動的(ただし不完全な)Latency計測より、静的なGeoIPでのサーバ割り振りの方が精度が高いという結果となった。
- Geoでサーバを割り振った結果は正しかったのか(Geo選択とThroughput選択は同じ結果になったか)?
- 課題
- IPv6対応:現状、計測ページを置いてあるwww.kosho.orgはIPv6対応させているが、計測先の{tokyo,osaka}.jpcdn.jpはIPv4のみ。計測先もIPv6対応にする。ただし、IPv6化させても、東京と大阪に受け入れ口があるのか不明(Cloudfrontのように東京にしかインターフェイス(サーバ)が無い場合もある)。
変更点
- 2021年10月11日
- Media PlayerのコンテンツプリロードをOnに変更(このページを開くだけでチャンクダウンロードが始まる)
- 判定チャンク数を増量(4個から10個に)。上記プリロード中にダウンロードされるはず。スループット計測の精度向上を狙う。