429/503で再試行が止まらない時の診断手順
429/503 の直後にクライアントが連続再試行すると、障害が長引くことがあります。Retry-After と実装挙動を同時に確認するのが最短です。
典型的な症状
- 429/503 応答なのに秒間リクエスト数が下がらない
- Retry-After は返っているがクライアントが待たない
- 一部クライアントだけ異常に再試行が多い
診断ステップ
- 1) Response Headers Parser で status / Date / Retry-After の実値を採取する
- 2) Retry-After Inspect で delta-seconds か HTTP-date かを判定する
- 3) HTTP Status Inspect で 429/503 の返却意図を確認する
- 4) Server-Timing Inspect で過負荷区間を確認し、再試行集中と相関を見る
- 5) クライアント実装(待機単位・最大再試行・ジッター)を照合する
よくある原因
- Retry-After の秒指定をミリ秒として扱っている
- HTTP-date のパース失敗時に即再試行フォールバックしている
- SDK側で固定待機が強制され、ヘッダー値を無視している
- クライアント時刻とサーバー時刻の差で待機計算が崩れる
運用チェックリスト
- Retry-After を返すエンドポイントを一覧化し、監視対象に入れる
- 再試行実装に指数バックオフとジッターを必須化する
- 429/503 reason code と retry count をログに残す
- NTP 同期状態を定常監視し、時計ズレを早期検知する
修正後の再確認
- Retry-After 指定どおりに再試行間隔が伸びるか
- 再試行集中時のピークトラフィックが減少するか
- 障害復旧後に正常スループットへ戻るか
使うツール
- HTTP Header Parser
- Response Headers Parser
- Retry-After Inspect
- HTTP Status Inspect
- Server-Timing Inspect
FAQ
- Retry-After は秒と日時のどちらで返るのですか?
- 両方あり得ます。delta-seconds と HTTP-date のどちらかを必ず実値で判定してください。
- 再試行を止める最低要件は何ですか?
- Retry-After 準拠、指数バックオフ、ジッター、最大再試行回数の4点を同時に入れることです。
参照仕様
次に見る(診断順)
site_map ルールに基づいて、次に確認すべきページを表示しています。
- HTTP Header Parser — 生ヘッダーを構造化して一覧化
- Response Headers Parser — レスポンスヘッダーを構造化解析
- Retry-After Inspect — Retry-After を解析して再試行待機を確認
- HTTP Status Inspect — HTTPステータスコードを解析して対処方針を確認
- Server-Timing Inspect — Server-Timing を分解して遅延指標を確認
- 症状別診断ガイド(入口) — キャッシュ/CORS/JWT/MIME系の実運用トラブルを、症状起点で最短導線に振り分ける総合ハブ
- 304が返らない時の診断手順 — ETag / Last-Modified と If-* の往復を確認して 304 不発を切り分ける
- 更新したのに反映されない時の診断手順 — HTML/API/静的アセット別にキャッシュ方針を確認し、反映遅延を短時間で切り分ける
同テーマの導線
事例クラスタ一覧
実運用トラブル別に、最短の診断ルートへ入るためのシナリオ集
- 症状別診断ガイド(入口) — キャッシュ/CORS/JWT/MIME系の実運用トラブルを、症状起点で最短導線に振り分ける総合ハブ
- 304が返らない時の診断手順 — ETag / Last-Modified と If-* の往復を確認して 304 不発を切り分ける
- 更新したのに反映されない時の診断手順 — HTML/API/静的アセット別にキャッシュ方針を確認し、反映遅延を短時間で切り分ける
- CORS preflight失敗時の診断手順 — OPTIONS応答、Allow-*、Origin条件を順に確認して preflight 失敗を解消する
- JWT 401/403 切り分け手順 — Authorization / WWW-Authenticate / claims / 署名検証を連携して 401 と 403 を分離する
- nosniffでJS/CSSがブロックされる時の診断手順 — Content-Type と nosniff の不一致、404/302混入、配信経路の上書きを切り分ける
- Set-Cookie が保存されない時の診断手順 — Domain/Path/Secure/SameSite を順に確認して Cookie 非保持の原因を切り分ける
- OAuth戻りでログインが維持されない時の診断手順 — IdP戻りで起きる Cookie 不達を SameSite・Secure・Path/Domain・競合で順に切り分ける
- 同名Cookie競合で不安定な時の診断手順 — 同名CookieのPath/Domain差分・上書き順・送信衝突を整理して不安定挙動を解消する
- Cookie障害の運用チェックリスト — 保存失敗・OAuth戻り失敗・同名競合を一本化し、トリアージから恒久対策まで運用手順を標準化する