EASYBOT GUIDE
Cloudflare 524 A Timeout Occurredの原因と解決方法
Cloudflare 524の意味と、接続後に応答が遅いアプリ・データベース・長時間処理の改善方法を説明します。
Cloudflare 524はオリジンサーバーとの接続はできたものの、Cloudflareが待てる時間内にHTTP応答が返らなかった状態です。接続拒否を示す521とは異なり、主に処理時間を調べます。
524が起きる処理
時間のかかるレポート生成、巨大ファイル処理、遅いSQL、外部API待ちなどで応答が遅れます。処理全体だけでなく、各工程の時間を計測します。
- アプリログに処理開始と終了時刻を記録する
- 遅いDBクエリと外部APIを特定する
- リクエストごとのサイズや件数を比較する
長い処理を非同期化
HTTP接続を長時間保持する処理は、ジョブとして受け付けて後から結果を確認する方式にすると安定します。クライアントには受付IDと進行状況を返します。
- 受付APIは短時間でジョブIDを返す
- キューでバックグラウンド処理する
- 完了通知や状態確認APIを用意する
応答を軽くする
データベースのインデックス、ページ分割、キャッシュなどで処理量を減らせます。タイムアウト値を上げるだけでは、根本的な遅延やサーバー負荷が残ります。
- 必要な列だけ取得する
- 大量データはページ単位で返す
- キャッシュの有効期限と更新条件を決める
利用者ができること
操作がタイムアウトしても、処理が裏で完了している場合があります。決済や登録フォームを何度も送らず、履歴や通知で結果を確認します。
- 画面を連打せず状態を確認する
- 完了通知や履歴を確認する
- 再試行時は二重登録を防ぐ仕組みを確認する