504エラーは通常、ブラウザとウェブサーバー間の接続が180秒以上保持され、HTTPタイムアウトが発生した場合に表示されます。

複数のリクエストが同時に、またはそれに近いタイミングで入ってきたとき、いくつかのリクエストは処理を順番に待つことになります。サーバーがリクエストを処理していても、それぞれのリクエストの処理に時間がかかると、大量のリクエストが堆積することがあります。キューが大きくなり処理待ちが長くなると、古いリクエストはサーバーによって無視され、504エラーが返されることになります。

他の多くのエラーのトラブルシューティングと同様に、まずはエラーの根本的な原因を突き止めることが重要です。

「504(Gateway Timeout)」エラーを特定し解決する

インポート時のエラー

インポート中にエラーが発生した場合は、WP-CLIまたはローカルのPHPやBashシェルスクリプトを使用して、サーバー上で直接インポートを実行してみてください。これにより、HTTP接続が完全にバイパスされ、504エラーなしでインポートを完了することができます。

サードパーティCDN

お客様のサイトでKinstaのCloudflare統合に加えてサードパーティのCDNが使用されている場合、そのCDNを一時的に無効化またはバイパスしてみてください。

アップロードパスの確認

ファイルをアップロードしようとしたときに、ファイルパスに関するエラーが表示される場合(例: コンテンツに画像をアップロードするなど)、アップロードパスが正しくない可能性があります。これは、サイトを移行した直後に見られがちな問題です。以前のサーバーの設定によっては、アップロードパスが変更されている可能性があります。これは、wp_options テーブルまたは WordPress管理画面(「設定」>「メディア」>「ファイルアップロード」)で確認することができます。

WordPress管理画面に、「Store uploads in this folder」と「Full URL path to files」という選択肢が表示されている場合、(プラグインにより)手が加えられていることになります。データベース内の対応するデータは、wp_options テーブルの upload_pathupload_url_pathで確認できます。

これらのフィールドにあるものを削除して(WordPress管理画面またはデータベースのいずれかで)、デフォルトに戻すことができます。

アップロードのファイルサイズ

ファイルをアップロードしようとしたときに、ファイルサイズに関するエラーが表示された場合は、アップロードしようとしているファイルのサイズをご確認ください。CDNによっては、アップロードできるファイルサイズが制限されている場合があります。サードパーティのCDNを使用している場合は、CDNの設定で最大アップロードサイズを確認し、アップロードするファイルのサイズが最大値未満になるようにしてください。または、サイトでそのような大きなファイルサイズを扱う必要がある場合には、CDNの設定で最大アップロードサイズを引き上げましょう(可能な場合)。

データベースの破損

時折、データベースの破損が504エラーの原因となることがあります。データベースが破損していることを示すエラーが表示された場合(例:WordPress管理画面にログインしたときに「1つ以上のデータベーステーブルが使用できません。データベースの修復が必要な可能性があります」と表示される)は、破損データベースの修復に関する解説をご参照ください。

プラグインとテーマ

それほど一般的ではありませんが、プラグインやテーマが504エラーの原因になっている場合もあります。これをテストする最善の方法は、すべてのプラグインを無効化し、デフォルトのテーマに切り替えることです。問題が解決したら、問題が再発するまで、プラグインを1つずつ再び有効化し、テーマも有効化します。どのプラグインやテーマが原因かを特定したら、エラーについてプラグインやテーマの開発者に報告し、問題解決に役立ててもらいましょう。

エラーログ

MyKinstaでサイトのerror.logチェックして(またはSFTPでダウンロードして)、エラーの原因を絞り込むことができます。明らかなものがない場合、WP-DEBUGを有効にするのが効果的です。

トラフィックとキャッシュ

MyKinsta「分析」画面の訪問情報をチェックし、サイトでトラフィックの急増や多数の(キャッシュされていない)リクエストが発生していないかどうか確認できます。その際、リクエストが正当なものかどうか、また、より多くのリソース(ワーカープロセスなど)が必要であるかどうかといった判断については、Kinstaのカスタマーサポートまでお気軽にお問い合わせいただけます。

ワーカープロセス数の増加

場合によっては、より多くのワーカープロセスが必要になることがあります。ご不明な場合は、サポートまでお問い合わせください。サイトにワーカープロセスの追加が必要かどうかの判断を、喜んでサポートさせていただきます。

トラフィックの抑制

サイトでトラフィックの急増や、または、通常よりも多いトラフィックが発生し、リソースを増やすことができない場合、サーバーに一度に多くのリクエストが到達するのを防ぐために、Queue-itQueue-FairあるいはCrowdhandlerなどのシステムが作動している可能性があります。