テーマを導入して軽くなったと思ったら、やっぱり重いので原因を調査することにした
WordPressのプラグインDebug BarとDebug Bar Extendarはデバッグやこうした調査をするためのプラグイン
インストールと有効化
管理画面から「debug bar」を検索してインストール、有効化する。
準備
wp-config.phpに次の3行を加える。(WP_DEBUGの設定はもともとあるので上書きする)
1 2 3 | define('SAVEQUERIES', true); define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); |
計測
管理画面にログインした状態で右上のDebugを押すと内容を確認できる。
みるポイントは様々あるのだろうが、とりあえず、今回はスピードということで、QueryとProfileをチェック。
実はスクリーンショットは改善後の数値で改善前はProfileが1500msを超えていた。
Profileのほうをチェックしていくことになる。
デバッグポイントを設定して測定する
Profileはみにくいが前半がSummary、後半がFlowとなっている。つまり、遅い順ランキングと時系列順の処理時間がわかる。
さらに、ソースにデバッグポイントを設定することで細かく遅い処理を特定できる。
Note: you can measure runtimes between checkpoints via Debug_Bar_Extender::instance()->start( $note=”” ), Debug_Bar_Extender::instance()->checkpoint( $note=”” ), Debug_Bar_Extender::instance()->end( $note=”” ) or using the simple shortcut function dbgx_checkpoint( $note=”” )
下の方に↑のような記述があるので、このとおりにコピペすればOK
index.phpを計測するなら、コードの最初に「<?php Debug_Bar_Extender::instance()->start( $note=”———debug start———-” ) ?>」、コードの最後に「<?php Debug_Bar_Extender::instance()->end( $note=”———-debug end———–” ) ?>」と書いて、ポイントに「dbgx_checkpoint( $note=”メッセージ” )」をいくつでもおいていく。
そして、再起動すれば、flowの方をみれば上のメッセージが出てくるのでどの処理が遅いかがわかる。
わたしの場合は、「the_excerpt」を12回くらいやっていたのが原因だった。。。
当面トップページはタイトルのみで抜粋はしないことにした。
後片付け
wp-config.phpはもとに戻しておく
1 2 3 4 | #define('SAVEQUERIES', true); #define('WP_DEBUG', true); #define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG', false); |