ステージングで10倍トラフィックを捌けたのに本番で15分で落ちた話¶
問題提起¶
ステージングで10倍トラフィックを完璧に処理したサービスが、本番では15分で落ちた。差はトラフィック量ではなく「実際のユーザー行動」だった。
ステージング環境が再現できないもの¶
- 実ユーザーの行動パターン: 特定エンドポイントへの偏った集中、想定外の操作順序
- データの多様性: 本番のデータ量・分布・異常値
- キャッシュのコールドスタート: 本番ではウォームアップ期間がない場合がある
- 外部依存サービスの挙動: サードパーティAPIのレート制限・タイムアウト
- マイクロバースト: 短時間の急激なスパイク(合計量は同じでも瞬間ピークが違う)
- ネットワーク遅延の現実: 地理的分散・モバイル回線・不安定な接続
ポイント¶
- 「10倍のトラフィック」という量だけでなくパターンが重要
- ステージングでのテストは必要条件だが十分条件ではない
- カナリアリリース・Feature Flag・シャドウトラフィックで本番近似を
- Chaos Engineering で異常系を意図的にステージングに注入する