コンテンツにスキップ

ステージングで10倍トラフィックを捌けたのに本番で15分で落ちた話

問題提起

ステージングで10倍トラフィックを完璧に処理したサービスが、本番では15分で落ちた。差はトラフィック量ではなく「実際のユーザー行動」だった。

ステージング環境が再現できないもの

  • 実ユーザーの行動パターン: 特定エンドポイントへの偏った集中、想定外の操作順序
  • データの多様性: 本番のデータ量・分布・異常値
  • キャッシュのコールドスタート: 本番ではウォームアップ期間がない場合がある
  • 外部依存サービスの挙動: サードパーティAPIのレート制限・タイムアウト
  • マイクロバースト: 短時間の急激なスパイク(合計量は同じでも瞬間ピークが違う)
  • ネットワーク遅延の現実: 地理的分散・モバイル回線・不安定な接続

ポイント

  • 「10倍のトラフィック」という量だけでなくパターンが重要
  • ステージングでのテストは必要条件だが十分条件ではない
  • カナリアリリース・Feature Flag・シャドウトラフィックで本番近似を
  • Chaos Engineering で異常系を意図的にステージングに注入する