国内ストリーミング向けGSLBデモ


背景

ストリーミング向けGSLBの現状と実装

概要

東京と大阪に配置した2台のサーバ(AWS EC2)に対し、

  • tokyo.jpcdn.jp
  • osaka.jpcdn.jp

ストリーミング用CDNに使用可能である以下の技術を使い振り分けを行います:

  • GeoIP
  • プレイヤーによるレイテンシチェック
  • プレイヤーサイドマルチCDN

結果

再生ボタンを押してください。20秒後に結果が表示されます

見方

  • GeoIP関連
    • Geo info
      • GeoLite2 Cityの結果(使っているのは都道府県情報)
        • クレジット「この製品には MaxMind が作成した GeoLite2 データが含まれており、http://www.maxmind.com から入手いただけます」
    • Geo based server
      • 上記情報と都道府県庁間の距離により、tokyoとosakaに割り振り
        • tokyo.jpcdn.jp
          • 北海道、青森、岩手、宮城、秋田、山形、福島、茨城、栃木、群馬、埼玉、千葉、東京、神奈川、新潟、富山、福井県、山梨、長野、静岡
        • osaka.jpcdn.jp
          • 石川、岐阜、愛知、三重、滋賀、京都、大阪、兵庫、奈良、和歌山、鳥取、島根、岡山、広島、山口、徳島、香川、愛媛、高知、福岡、佐賀、長崎、熊本、大分、宮崎、鹿児島、沖縄
      • JP以外や県情報が不明はすべてtokyoに割り振り
  • レイテンシ関連
    • Tokyo latency
      • https://tokyo.jpcdn.jp/ (AWS東京リージョン)へのheadリクエストにかかった時間
    • Osaka latency
      • https://osaka.jpcdn.jp/ (AWS大阪リージョン)へのheadリクエストにかかった時間
    • Latency based server
      • 上記二つのレイテンシを比較し早かったサーバを割り振り
  • プレイヤーサイドマルチCDN
    • 以下の二つのフェイズでチャンクのダウンロードを行います
      • 計測フェイズ
        • TokyoサーバとOsakaサーバから一定量のチャンクを交互にダウンロードし、それらの速度を計測します
      • メインフェイズ
        • 早い方のサーバのみからチャンクをダウンロードします
    • 補足
      • 各チャンクのダウンロードスピードについてはDeveloper console(F12)に出力させています。

結果報告(暫定)

10月8日~10日までの計測結果からの知見です:

  • 計測について(再掲)
    • 基本収集データ
      • Geo:GeoIP情報
      • Latency:東京と大阪にhttps headをした時のレイテンシ
      • Throughput:東京と大阪からチャンクをダウンロードした時の速度(それぞれ2個分)
    • サーバ選択
      • Geo選択:県情報(都道府県庁間の距離)でサーバを選択
      • Latency選択:レイテンシが短いサーバを選択
      • Throughput選択:ダウンロード速度が速いサーバを選択
  • 有効データ
    • 以下の条件でフィルタ後のデータ数:31
      • IPv4のみ、動画再生まで実施、同一IPブロックからの連続した計測は最後のもののみ
    • 生データ
  • 検証の視点と考察
    • 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でのサーバ割り振りの方が精度が高いという結果となった。
  • 課題
    • IPv6対応:現状、計測ページを置いてあるwww.kosho.orgはIPv6対応させているが、計測先の{tokyo,osaka}.jpcdn.jpはIPv4のみ。計測先もIPv6対応にする。ただし、IPv6化させても、東京と大阪に受け入れ口があるのか不明(Cloudfrontのように東京にしかインターフェイス(サーバ)が無い場合もある)。

変更点

  • 2021年10月11日
    • Media PlayerのコンテンツプリロードをOnに変更(このページを開くだけでチャンクダウンロードが始まる)
    • 判定チャンク数を増量(4個から10個に)。上記プリロード中にダウンロードされるはず。スループット計測の精度向上を狙う。