読者です 読者をやめる 読者になる 読者になる

システム開発・構築の神様

新しいサービスや技術を使った開発や構築。その他不具合解決など

Wordpressの遅い原因を調べる!Query Monitorのインストール

Wordpress MySQL 調査

CPUコア数、メモリーを抑えたスペック上(VPSの一番安いタイプ)のWordpressで、ある日を境にページの表示が遅くなっていました。

(ページ表示に10秒以上かかってしまいます)

俗に言う、投稿件数が増えたことによる、データベースアクセスが原因?

だろう!そう、思ってしばらく放置していましたが

やっぱり気になるので、改善しないまでも、原因だけは特定しておこうと調査を始めました。

Chromeのデベロッパーツールで、HTML部のページがどのくらいかかっているのか?

まずは確認してみると、10秒ちょい・・・

これは遅すぎますね。大体どのページも10秒かかっています。

nginxのキャッシュが有効の場合は、もちろん表示は早く1秒以内となっています。

次に、Wordpress内の処理でどこに原因があるのか?

確認するために、Wordpressをデバッグモードに設定し、デバッグ用のプラグインを導入してみました。

まずは、一番有名な「Debug Bar」をインストールして、確認してみるとデータベースのクエリー検索自体は、全て遅くない結果になりました。 (全て数ミリでした)

あれ?Wordpressが遅いのはデータベースが原因だとずっと思っていましたが、そうではなかったようです。

Debug Barを拡張するプラグインを入れて、プラグイン、テーマ、関数など対象となる機能を増やそうといろいろ探して見ると・・・

Query Monitorを見つけました。

こちらもクエリーをモニターする機能がメインですが、使い勝手が良いのと、デザインが分かりやすくかっこいいので、今後はQuery Monitorを愛用したいと思いました。

あまり時間が無いため、プラグイン探しは一旦保留です。

で、結局原因が分かりそうに無かっため、単純な作業で原因を調べていくことにしました。

・有効なプラグインを全て無効化

解決しませんでした。

・利用している高機能なテーマから、デフォルトのテーマに変更

解決しませんでした。

・サイドバーなどで利用しているウィジェットを削除

お~、ビンゴです!表示が高速になりました!一秒以内に表示されるようになりました。

原因

RSSウィジェットが、ページの表示を遅くしていた原因でした。

大きいサイズのRSSデータを取得する際に、どうやらタイムアウトしているようです。WordpressのRSS(feed)出力は全件さえれてしまうのかな?

今回は、RSSウィジェットを削除して対応しました。

いやー、ページの表示が早いと気分がいいですね。解決して良かった。