APCでWordPress高速化!!

WordPressのバフォーマンスチューニングと罠に関する話。
「WordPress高速化」などで検索を行うと、
Trible Object Cacheというプラグインが見つかる。

Trible Object Cache

http://wordpress.org/plugins/tribe-object-cache/

このプラグインは、PHPオブジェクトをキャッシュすることでWordPressを高速化させる。キャッシュプロバイダを選べ、APCやmemcachedなどが選択できる。memcachedは、単独で動作するKey Value Store方式のキャッシュサーバだ。そして、APCのほうは、「Alternative PHP Cache」の略で、PHPモジュールとして動作する。
memcachedの利用経験はあるが、APCは使った事が無い。だが、いかにも早そうなので、使ってみることにする。
Trible Object Cache のキャッシュプロバイダにAPCを使うためには、次のプラグインを配置する。

APC Object Cache Backend

http://wordpress.org/plugins/apc/

こっちのプラグインは、object-cache.phpをwp-content直下に配置するだけだ。

ここまで終わった所で、WordPress管理画面の「プラグイン」から、Trible Object Cacheを有効化させる。そしてブログを開いて速度を比較してみよう。早くなっただろうか?
残念なことに、筆者のブログは早くならなかった。なぜなら、APCが正しくセットアップできていなかったためだ。

上記の2つのプラグインは、APCが正しくセットアップできていなくても、何ら警告を出すことは無い。APCが正しく動作しているかどうかは、phpinfo()を使うのが確実である。
APC が無い状態で phpinfo() を見ると、”Emulated”と書かれている。

サーバー(CentOS)にAPCをインストールし、再度確認してみる。

yum install php-pecl-apc  
service httpd restart  

実際に Google ChromeでPHP部分の受信を開始するまでの時間を比較してみたところ、
200〜300msの時間短縮となった。
クライアント側からの計測なので、だいぶいい加減だが、満足である。
APCは、大抵のホスティングサーバや、PHPerのサーバではすでにセットアップされている可能性が高いだろう。