たかなblog

のんびりと色んな情報を発信していきます。

プラグイン

WordPressプラグイン、DB Cache Reloaded Fixの設定方法

2014/11/05

WordPressを使用しているWebサイトを高速化しようとしたとき、多くの方が検討するであろうプラグイン「DB Cache Reloaded Fix」の紹介です。

なお、このプラグインは「キャッシュプラグイン」です。キャッシュプラグインは負荷軽減に貢献してくれる素晴らしいプラグインですが、その性質上、複雑で繊細なプラグインでもあります。

どのプラグインにも言えることではありますが、設定方法を間違えたり、バージョンをよく確認せず突っ込んだり、他のプラグインとの相性が悪かったりするとデータが壊れたり、ゴミデータを残してしまうことになります。

キャッシュ系のプラグインを使用する際は、インストールや設定変更の際、また他のプラグインを入れるときなどは必ず一度停止し、余裕があればバックアップなどを取るようにしてください

DB Cache Reloaded Fixとは?

「DB Cache Reloaded Fix公式サイト」によると、このプラグインは、寿命をもつ全てのデータベースクエリをキャッシュしてくれるようです。

WordPressを通してPHPが吐き出すHTMLページをキャッシングするプラグインが有名ですが、そちらが静的ページを表示するのに対し、DB Cache Reloaded Fixはデータベースのクエリをキャッシュしてくれることで動的ページのように動作させることができます。

何より管理画面も含めて早くなるのが魅力。

サイトにアクセスしてからページが表示されるまでに、Wordpressがやっていること

「キャッシュ」でサイトが早くなる仕組みを理解するのであれば、まず、Wordpressがどうやってページを表示しているのか、大まかに理解できたほうがいいと思いますので、お急ぎでない方はサイトにアクセスしてからページが表示されるまでに、Wordpressがやっていることをご覧ください。

DB Cache Reloaded Fixをインストール

インストール方法は簡単。

管理画面のプラグインをクリックし、プラグイン管理画面を開いたあと、

DBCacheReloadedFix

新規追加をクリックします。

すると、プラグインのインストール画面が表示されますので、検索ボックスに「DB Cache Reloaded Fix」と入力し、検索ボタンをクリック。

DBCacheReloadedFix2

検索結果に表示されている「DB Cache Reloaded Fix」の「いますぐインストール」をクリックします。

DBCacheReloadedFix3

下の画像のようなポップアップ「本当にこのプラグインをインストールしてもいいですか?」が表示されるので、「OK」をクリック。

DBCacheReloadedFix4

インストール画面が表示され、大抵の環境ではすぐに「インストールが完了しました」まで表示されますので、

DBCacheReloadedFix5

左下のリンク「プラグインを有効化」をクリックしてください。(ネットワーク設定を有効にしている場合、上記画像のように「ネットワークで有効化」になります。)

ひとまずインストールはこれで完了となります。

DB Cache Reloaded Fixの設定前の動作確認

キャッシュ系プラグインは、使用するサイトによっては逆に重くなる場合があります。他のプラグインとの相性を見ながら、細心の注意を払いながら利用しているプラグインが実は重くなった原因だった、なんて悲しいことにならないよう、動作確認はしておきたいところ。

WordPressでの速度測定にはいろいろ方法があると思いますが、今回は登録やソースの書き換えが不要なGTmetrixで確認してみます。

確認方法は簡単で、まずGTmetrixへアクセス。

GTmetrix

英語のページが出てきてちょっと怖いですが、測定したいページのURLを入力して「GO!」をクリックします。

GTmetrix2

結果が表示されました。

右側に具体的な数値が出ていますね。

「Page load time:4.28s」 なので、ページを表示するのにかかった時間は4.28秒ということになります。

DB Cache Reloaded Fixの有効化と設定

現状の動作確認が出来たので、「DB Cache Reloaded Fix」の設定画面より、キャッシュを有効にします。

プラグインを有効にすると、画面上部に「DB Cache Reloaded 情報:キャッシュは無効です。オプションページで有効にしてください。」と表示されていますので、「オプションページ」のリンクより設定画面へ移動してください。

DBCacheReloadedFix6

または、設定画面に追加されている「DB Cache Reloaded」からオプションページへ行くこともできます。

DBCacheReloadedFix7

設定画面では、

「基本オプション」、「追加オプション」、「詳細」が設定できます。

DBCacheReloadedFix8

さて、それでは具体的な設定なのですが、実はこのプラグイン、公式サイトに設定方法などの説明がないんですよね。

というのも、どうやら「DB Cache」→ 「DB Cache Reloaded」→「DB Cache Reloaded Fix」とメンテナンスを重ねているらしく、しかも作成者が変わっているみたい。

いいプラグインだけど更新されていないのでWordpressの新バージョンに対応していない→別の人がパッチ作る、みたいな感じ。

DB Cache Reloadedの公式サイトDB Cache Reloaded Fixの公式サイトはあるのですが、DB Cacheの公式サイトはリンク切れ、、

別に難しいプラグインじゃないので、DB Cache Reloaded Fixで検索してみても、「設定画面で有効にすれば使えるみたいー超すごーい☆」みたいな記事ばっかり。。

とりあえず解説してそうなサイトを片っ端から巡ってみたり、プラグインのコメントみたりフォーラム覗いたりでなんとなく把握した内容になりますが、設定方法をまとめてみたいと思います。

基本オプション

プラグインの有効化とキャッシュの有効期限が設定できます。

DBCacheReloadedFix9

「DB Cache Reloaded Fix」は、基本的にこの「有効」チェックボックスにチェックをつけ、「保存」ボタンを押すだけで利用することができます。プラグインの設定画面からプラグイン自体を有効化しても、このチェックを入れないと動かないので注意。

キャッシュの有効期限ですが、デフォルトは5分になっています。が、5分だと、サイトの内容がガンガン更新されるサイトや、コメントが随時ついていくようなサイトでなければ逆効果になります。更新頻度に合わせて調整してください。

追加オプション

フィルタの設定と、フッターに出力する情報の形式を設定できます。

DBCacheReloadedFix11

キャッシュフィルタの説明だけ英文のままですね。

Do not cache queries that contains this input contents. Divide different filters with '|' (vertical line, e.g. '_posts|_postmeta'). You can put 'JOIN' as well if you want to exclude complex query

英語が苦手なのでそのままGoogle翻訳に突っ込んでみた結果、キャッシュしないクエリ名を'|'で区切って入力しなさい。複雑なクエリを除外したい場合も、JOINを使ってできますよ、というところでしょうか。

デフォルトでは「_posts|_postmeta」と入力されています。真ん中の'|'は区切り文字ですので、「_posts」と「_postmeta」が、キャッシュしないクエリ、ということになります。

クエリとは、あくまで「このテーブル(表)のこのフィールド(行)をとってきなさいよー」などの「命令文」ですので、この「_posts」と「_postmeta」はテーブル名を指しているのかな?

ちなみに、Wordpressが見に行っているデータベースの中を覗いてみると、以下のテーブルがありました。

DBCacheReloadedFix10

プラグインを入れるとそのプラグインが新しくテーブルを作ることもありますし、ひとつのWordpressで複数のサイトを運営(ネットワーク化)している人もいると思いますので、私はこうでしたよ、というあくまで参考までに。

この中に、「wp_posts」と「wp_postmeta」テーブルがありますね。キャッシュしないのはこのテーブルのことなのかな。このテーブルしかそれっぽいのないし。。

「wp_posts」の中身を覗いてみると、フィールド(行)には以下が設定されていました。

種別

中身を見てみると、Wordpressにアップロードした画像や記事、固定ページの情報が入っていました。また、そのコンテンツに個別で情報を付加している場合(

「DB Cache Reloaded Fix」を動かしていても、きちんとコンテンツは更新されて表示される、ということですね。

これなら普通にブログを運営する分には問題なさそうです。

ちなみに、頭についている「wp」の文字ですが、ネットワーク化して複数サイトを運営していると、最初のサイトはそのまま「wp_posts」、2つめ以降のサイトのpostsは「wp2_posts」、「wp3_posts」というテーブル名で追加されます。同じ「_posts」のデータでも、サイトが分かれればちゃんとテーブルも分けてるんですね。

プラグインやテーマ、もしくは自分でテーブルを作成する場合、そのテーブルをキャッシュしたくなければここにテーブル名を追加してあげればキャッシュされません。独自でテーブルをもつプラグインやテーマは、相当不親切ではない限り公式サイトにその旨記載されていると思いますので、後述するラッパーモードを使ってもうまく動作しない場合はここにテーブル名を追加して動作確認してみてください。

さて、追加オプションにはもうひとつ設定できる項目があります。「リソース使用統計テンプレート」です。こちらは説明文が日本語で書いてあるので用途がわかりやすいですね。

デフォルト値は「<!-- Generated in {timer} seconds. Made {queries} queries to database and {cached} cached queries. Memory used - {memory} -->」

「フッタにリソース使用統計を表示するためのテンプレートです。フッタに何も表示したくなければ、このフィールドを空にしておいてください。

{timer} - キャッシュ生成にかかった時間, {queries} - DBに対するクエリ数, {cached} - キャッシュされたクエリ数, {memory} - メモリー」とのこと。はて。

実際に有効化してページのフッターのソースを確認してみると、以下のコメントが挿入されていました。

<!-- Generated in 0.915 seconds. Made 45 queries to database and 33 cached queries. Memory used - 44.11MB -->

説明文のとおりだとすると、キャッシュ生成に0.915秒。DBに対し45のクエリを発行し、そのうち33クエリをキャッシュしました。保存したクエリの容量の合計は44.11MB、といったところでしょうか。

詳細

キャッシュと相性の悪いほかのプラグインとの共存を可能にする設定です。

DBCacheReloadedFix13

こちらも日本語での説明があります。

「ラッパーモードは、通常とは異なる方法でDBモジュールをロードします。通常の方法よりも効率的ではなく(少なくとも1つのクエリがキャッシュされません; いくつかのプラグインでは、さらにキャッシュできないクエリ数が増えるでしょう)、少し遅いです。DB Cache Reloaded と互換性の無いプラグインを使用する際、このモードを選択してください。また、クエリがキャッシュされない(キャッシュされたクエリ数が0か-1)場合にも、このモードを試してみてください。」

とのこと。詳しく説明はしないけど、不具合が起こらないようにちょっと工夫してキャッシュするよ。そのかわり、ちょっと遅くなるよ。ってことですね。どういった仕組みでそうなるのかは特に説明しないよ!という潔さが逆に親切で気持ちがいいです。

投稿記事を評価したり、アクセスランキングを表示したり、この記事を見た人はこんな記事も見てますよーといった記事を表示するプラグインなどと相性が悪いようなので、プラグインがうまく動作していないようであればラッパーモードを有効にしてください。

ラッパーモードの設定は、基本設定の「有効」にチェックが入っていない場合のみ変更ができます。例えばラッパーモードにチェックせずに「有効」にし、設定を保存した場合はチェックボックスが消え、以下の文言が表示されます。

DBCacheReloadedFix14

「ラッパーモードは無効です。有効にするためには、一度キャッシュを無効にしてから、設定してください。」

ラッパーモードを有効にするチェックボックスを表示させるためには、指示にあるとおり一度基本設定の「有効」チェックボックスのチェックをはずし「保存」して、キャッシュを無効にする必要があります。

その際、期限が切れていなくてもDB Cache Reloaded Fixが作成したキャッシュは削除されます。

すべての設定を終えたら、「保存」を忘れずにしてくださいね。

DBCacheReloadedFix15

有効化の設定をしたときだけでなく、キャッシュの有効期限、フィルタの設定、フッターの設定、ラッパーモードの設定、すべての設定は「保存」ボタンを押さないと反映されませんのでご注意を!

DB Cache Reloaded Fixの設定後の動作確認

「DB Cache Reloaded Fix」を有効化したら、動作確認をしましょう。

その前にまず、ご自身のサイトを読み込んで更新し、キャッシュファイルを作成してください(ページを読み込めば勝手にキャッシュファイルは作成されます)。初回アクセス時はキャッシュファイルを作成するため、どうしても若干遅くなるからです。

動作確認は、プラグインインストール前と同じ方法で行うため、今回もGTmetrixを使います。

結果は、以下の通りでした。

GTmetrix3

Page load time:4.08s

ページ表示時間は4.08秒。プラグイン導入前が4.28秒なので、0.2秒短縮できました。入れないよりマシ、というレベルではありますが効果はあるようです。

このタイムはラッパーモードを有効にしてはいないので、今後のプラグインの相性も考えながら利用していきたいと思います。

まとめ

「DB Cache Reloaded Fix」は基本的にインストールしてキャッシュの有効期限を設定し、有効化するだけで使えます。相性が悪いプラグインがある場合があるので、動作確認は必須。上手く動かない場合はラッパーモードを試してみてね。

設定項目は少なくて簡単なので、かなりお勧めのプラグインです。

-プラグイン
-

おすすめ記事

1
母の日のプレゼントに!2017年最新お取り寄せグルメ一覧

こんにちは!毎年この時期になると、「母の日 プレゼント」や「母の日 贈り物 花以 ...

2
2016年 母の日にどうぞ!楽天レビュー数10000以上、評価4以上のお取り寄せグルメ一覧

今回は「日々の贅沢」「贈り物」の参考としていただくため、健康食品や1kgで100 ...