WordPressで記事数や画像が増えてくると、段々と表示時間や検索したときの検索結果に時間が掛かるようになっていきます。もしかすると、クエリ(検索)に時間が掛かっている原因がなにかあるかもしれません。そのようなときは「Query Monitor」という便利なプラグインがありますので、こちらを使って調査してみましょう。
Query Monitorプラグイン
使い方は簡単で、プラグイン「Query Monitor」を検索してインストール、有効化するだけですぐに使えます。
管理バーにステータスが追加される
有効化すると、管理バーに「Query Monitor」の情報が追加されます。
ステータスモニターでは以下のような情報を見ることができます。
Page generation time
ページ生成時間
Peak memory usage
ピーク時のメモリ使用量
Database query time
データベースクエリ実行時間
Database queries
クエリ数
管理バーのそれぞれのメニューをクリックすると、画面下部に詳細情報が表示されるようになっています。PHPのエラーや重複クエリーを見ることができます。
最大メモリ使用量にエラーが?
ページ生成時間が約10秒も掛かっている…と思って見ていると…
43,445 kB
No memory limit. The memory_limit PHP configuration directive is set to 0.
8.3% of 524,288 kB WordPress limit
といった警告が出ていました。直訳すると「メモリ制限はありません。 memory_limitPHP構成ディレクティブは0に設定されます。」といった意味のようです。
以前にやむを得ずメモリ使用量を無制限に変更した記憶がありますが、その影響かと思われます。
なにがクエリに時間が掛かっているのか?
クエリにこれだけの時間が掛かっているのは、何が原因なのでしょうか…?
どうやら、「HTTP API Calls」なるものが、すこぶる時間が掛かっているように見えます。
Total:44を開いてみてみると、全てjetpackプラグインのようでした。
ということで、一旦プラグインを無効化してみます。
なんと「9.68秒→0.37秒」という結果に。ページ生成時間が、すこぶる早くなりました。
とはいえ、jetpackさんには大変お世話になっておりますので、無効化するわけにも・・・ということで、再び有効化します。
jetpackさん、便利なんですよ…。
とはいえ、表示速度を追求する場合は、無効化も止む無しかもしれません。運用状況に合わせて有効化するか無効化するかを、ご検討いただけたらと思います。
まとめ
「Query Monitor」はどちらかと言えば開発者向けのプラグインになるかと思いますが、ひとまず、どのクエリ(検索)に時間が掛かっているのか?を知るだけでも有益なプラグインです。
ページの表示が重たいと感じた時は試して見る価値はあるかと思います。
御参考ください😃