1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSでの社内限定のWordPress管理画面が遅い!?速度改善方法を調査!

Last updated at Posted at 2023-11-07

導入部

AWS上で運用する社内専用のWordPressサイトは、セキュリティ面で優れている一方で、管理画面が亀のように遅くなることがあります。そんなとき、何が原因で、どう解決すればいいのでしょうか?今回は、そんな切実な問題を抱えた私の体験を元に、具体的な解決策をシェアしたいと思います。

問題の発生

投稿ページなどはサクサク動くのに、なぜかダッシュボードやプラグインページの表示だけが異様に遅い。とにかく遅い。初期対応として考えられるプラグインの停止やテーマの変更も試してみましたが、大きな改善は見られませんでした。

原因調査と一時対応

次に取り組んだのが、「Query Monitor」というプラグインを使ったパフォーマンスの監視です。その結果、ダッシュボードではブラウザやPHPのバージョンをチェックするプロセス、プラグインページではプラグインの更新をチェックするプロセスがタイムアウトを起こしていることが明らかになりました。


2023-11-07 201750.png
ダッシュボードの表示には元々10秒もかかっていました(タイムアウト5秒)


2023-11-07 201844.png
プラグインページの表示には元々8秒もかかっていました(タイムアウト4秒)

タイムアウト設定の変更

デフォルトのタイムアウト時間は4~5秒。これを1秒に変更するコードをfunction.phpに記述することで、遅延はある程度改善されました。しかし、これはあくまでも一時的なバンドエイドに過ぎません。他のプロセスに影響を与えかねないリスクも抱えています。

function.php
add_filter('http_request_args', 'custom_http_request_args', 100, 1);
function custom_http_request_args($r) {
    $r['timeout'] = 1;
    return $r;
}

根本的な解決策

本来であれば、WordPressが外部通信を行う際に必要な接続のみを許可するセキュリティグループ設定を見直したり、AWSのプロキシサーバーを経由させるなどの方法が考えられます。これらの方法でより安全で、サイト運用において持続可能な改善になるでしょう。

結論

タイムアウトを短く設定することで一時的にスピードは向上しましたが、これには応急処置です。表示スピードはまだ許容範囲であるため、この状態を「当面の解決策」と位置付けつつ、長期的な解決策を模索することをお勧めします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?