PR

[WordPress] WP-SuperCache のプリロードが爆速

WordPress はやはり記事数が増えたり、プラグインが増えたり、あるいはテーマの構造などによって速度が落ちてくる。そこで、キャッシュ関連ツールを使ったり、APC を利用したりして体感速度や実際の動作速度を向上させる。

キャッシュ関連では「WP-SuperCache」「W3 Total Cache」「QuickCache」などがある。QuickCache は導入が簡単なキャッシュプラグインだそうだ。

スポンサードリンク

WP-SuperCache は高度なキャッシング機能を提供するプラグインで多くの利用者がいる。WP-SuperCache がアクセスされたページをキャッシュするのに対して、W3 Total Cache はアクセスされたページだけでなく、データベースへのクエリキャッシュやAPC への対応などより高度で広域なキャッシングを提供する。WP-SuperCache の場合は「DB Cache Reloaded Fix」 を利用することでページキャッシュの他にデータベースへのクエリキャッシュを行うこともでき、「WP Widget Cache」を利用するとウィジットに対してのキャッシュも可能だそうだ。

※WP-SueprCache 環境下でウィジットに対してのキャッシュ処理を追加する必要があるかは不明なのと、各ウィジットに対して設定するのが面倒だったでテストのみ行った

これらのページキャッシュ機能は、アクセスされたページがキャッシュされていないか、期限切れの場合はキャッシュして「次回以降」のアクセスを高速化する。WP-SuperCache はレガシー、PHP、mod_rewite に対応していて、プラグインの説明によるとmpc_rewite が最も高速に動作し、PHP は同等の機能をより柔軟な環境で動作できるそうだ。

さて、高機能なWP-SuperCache には「プリロード」という機能もある。JavaScript でマウスオーバーの際に画像切り替えをスムーズに行うために予め読み込んでおく機能があるが、これに似ている。つまり、「予め」作っておくというもの。

該当するページへのアクセスがあったら、データベースへ何度もアクセスし、計算して結果を返すのではなく、予め作っておいた結果を返すため、高速に動作する。実際に利用したところ、超高速だった。ただし、これには予め作成する工程が入り、その負荷が大きかった。

負荷が多く、高速化するためにプリロード機能を利用して、高速化やCPU の負荷を下げることはできるが、予め作成するとCPU をその時に大きく消費する。ただし、高速化の恩恵は計り知れない。まるでカリカリにチューニングされた専用サーバーを利用しているかのようだった。

ちなみに、これらの機能はファイルを生成するため、PHP がCGI 版で動作しているか、動作させることの出来る環境でなければ性能を十分発揮できない場合がある

※プリロードの場合、JavaScript によるアクセス解析が埋め込まれている場合はおそらく正常に動作するだろう。しかし、PHP によるアクセス解析が動作するのかは調べていない。もし、データベースにアクセスせず返答しているなら記録されないかもしれない。

※APC については別のページでサーバーごとに記事があります

※現在、本サイトではWP-SuperCahce のプリロード機能を利用していません(記事数が多いためCPU 使用率が・・)

コメント