Windows環境でもapcuを利用してwordpressのパフォーマンスを上げることが可能
Zend OPcacheはコードのキャッシュのみでオブジェクトデータはキャッシュしない
PHP5.5からはPHPの高速化エクステンションであるapcはサポートしないようだ。
コードレベルのキャッシュを行うにはZend OPcacheを利用することで可能になり、windows環境にセットアップした際のエントリーをxampp1.8.3のインストールとOPcacheの設定に書いてみた。
ただし、opcacheではデータキャッシュをサポートしていない。PHP5.4でTribe Object Cacheを利用してapcによるwordpressの高速化を行っていた場合、PHP5.5環境では
apcu
を利用できるサーバでなければデータキャッシュが効かないという結果になる。
apcuの設定
ダウンロード
peclからダウンロードすることが可能。
- http://pecl.php.net/package/APCu/4.0.3/windows
- http://windows.php.net/downloads/pecl/releases/apcu/4.0.1/
2つのURLを載せてみたが、今回は後者のページから、
php_apcu-4.0.1-5.5-ts-vc11-x86.zip
をダウンロードした。
インストール
ダウンロードしたファイルを展開して、
php_apcu.dll
をphpのext配下にコピーする。xampp1.8.3の場合は以下の階層にコピーしたことになる。
C:\xampp\php\ext
次にphp.iniにapcの設定をする。apcuというapcのデータキャッシュのみを行うエクステンションではあるが、php.iniの設定はapcと同じように行う。今回は以下のように設定した。
extension=php_apcu.dll apc.enabled=1 apc.shm_size=64M
php.iniに追記したらapacheを再起動する。そしてphpinfoを確認すると以下の表示が確認できる。
上の画像の表示がでていればapcuは利用可能な状態になっていて、インストール完了である。
apcコンパネのインストール
apcコンパネの正式な名前は、APC INFO Monitorの導入というようでPHP5.4.7(Windows版xampp1.8.1)でAPCを設定のエントリーに書いたことがあるので、リンク先の
APC INFO Monitorの導入
という項目も参考にしてほしい。
apcのコントロールパネルでデータキャッシュ状況などを確認できる。以下のURLからダウンロードできる本体パッケージの中にapc.phpがコンパネのプログラムになっている。
https://github.com/krakjoe/apcu/archive/simplify.zip
ダウンロードしたapc.phpを
C:\xampp\htdocs
にコピーすればインストールは完了。
ユーザー名とパスワードの設定については、PHP5.4.7(Windows版xampp1.8.1)でAPCを設定エントリーのAPC INFO Monitorの導入を参考に変更してほしい。
Tribe Object Cacheの設定
apcuが有効になったので、wordpressの高速化プラグインTribe Object Cacheを設定する。
プラグインをダウンロードして、wp-contentにコピーすると、プラグインの一覧ページに表示される。
プラグインを有効化する前に、上でインストールしたAPC INFO Monitorでwordpressのデータがキャッシュされていないか確認してみたい。
トップページ → User Cache Entries
でキャッシュされているデータが確認できる。何もリストされていなければキャッシュされているデータが存在しないということになる。
wordpressの管理画面やブログを操作してもキャッシュデータが蓄積されることはない。次にTribe Object Cacheプラグインを有効化してからwordpressを操作してキャッシュデータの状態を確認してみる。
まず、プラグインを有効化する。
そして、再度apc info monitorでキャッシュの状態を確認する。
データがキャッシュされていることを確認できる。
PHP5.5環境では、
- ネイティブコードキャッシュのZend OPcache
- オブジェクトデータキャッシュのapcu
の2つのレイヤーで高速化を行い、双方ともにwindows環境でも設定を行うことが可能。