去年作った全自動エロ動画サイトが、ありえない遅くなっていたので原因究明&対処した。余裕で2分くらいレスポンスがなくて、これじゃぁみんなのmy sonも元気なくなっちゃうだろうと。
EC2インスタンス再起動したり、RDS再起動しても変化なし。各種エラーログ見ても特に問題無し。
そこでパッと思いついた以下の仮説を検証。
- 家のネットワークが遅い
- →他のサイトの表示は早いので、これではない。
- AWSが遅い
- →WordPress以外の場所にアクセス(今回はドキュメントルートに直アクセス)してみたが、早い。これではない。
- WordPressが遅い
- →上の二つにより、やっぱりWordPressが遅い可能性が高そう。(RDSが遅い可能性も考えたが)
WordPressが遅いということで、まずプラグインを怪しんだ。
そこで調べて出てきたのが、遅くしている原因のプラグインを特定してくれるプラグイン、 P3 (Plugin Performance Profiler)。
これ入れて、スキャン。
スキャン1回目:ロードタイム58.384秒
圧倒的犯人が判明。その名も、Archive Posts Sort Customize。これは各種ページのソート条件を変更できるプラグイン→即削除。
あとHead Cleanerもついでに削除。これはキャッシュしてくれるプラグインなんだけど、以前から約1ヶ月おきにキャッシュの容量が爆発してサイトが閲覧不能になる問題を起こしてくれていたので消えてもらった。
スキャン2回目:ロードタイム14.631秒
だいぶ速くなった。キャッシュのプラグイン消したからか、SQLクエリは増えたけど。
これでもまだ遅いので、試しにEC2インスタンス再起動してから再スキャンすると...
スキャン3回目:ロードタイム0.559秒
ktkr素晴らしい。劇的な改善。
WordPressのプラグインには要注意です。