⭐️Akamai: surerouteパフォーマンスチェック

SureRoute は、エッジ → オリジン間で直接経路と他のエッジを経由する経路を比べ、速い経路を使う機能。

① ユーザー ──GET(キャッシュ不可)──▶ エッジ ──現在の主経路──▶ オリジン
   ユーザー ◀──────────── レスポンス ────────────────────────┘
       │ 応答を返したあと、裏で race 開始
       ▼
② エッジ ─┬─ 経路 A ─────────────────────────▶ オリジンの SRTO を取得
          ├─ 経路 B ─▶ 中継エッジ ────────────▶   〃
          └─ 経路 C ─▶ 中継エッジ ────────────▶   〃
       │ 3 経路に同時にリクエストし、一番速く取れた経路が勝ち
       ▼
③ 勝った経路を主経路にする(Cache Life for Race Results の間、次の race まで使う)
       ▼
④ 以降のキャッシュ不可リクエストは主経路でオリジンへ
  • 経路の比較(race): キャッシュされないリクエストを処理したあと、エッジが 3 経路で同時に SureRoute Test Object(SRTO)をオリジンから取得し、最も速い経路を採用する
  • 結果は race_stat_ttl(通常 30 分)保持され、その間は勝った経路を使う
  • SRTO の要件: 同じオリジン上の静的ファイル(8KB 以上)、200 を返す、認証不要、バックエンド処理なし
  • キャッシュされるコンテンツはエッジから返るので race は起きない。効くのは動的コンテンツ

参考: https://techdocs.akamai.com/api-acceleration/docs/setup-sureroute-test-object