以前使っていたAPCをZend OPcacheに変更してしばらく経ちますが、Zend OPcacheにはコードキャッシュ機能はありますがデータキャッシュ機能はありません(意外に盲点だった)。そこで、APCuを追加インストールしました。
というわけで、apcの後継、データキャッシュ機能だけになったAPCuをインストールします。元々apcを入れていて、一端無効化しただけの環境ですので、この機会に綺麗にアンインストールします。
# yum erase php-pecl-apc
改めて、apcuをインストール。
# yum install pvhp-pecl-apcu
1文字しか違わないので要注意ですが・・・apcu.soが/usr/lib64/php/modulesに入ればOKです(32bit環境だと、libです)。設定ファイルも/etc/php.d/apcu.iniに入りますので、そのままapache再起動などすれば、apcuは有効になります。ウチはphp-fpmですが。
apcuの動作状況を見るための管理画面ですが、元々apcに付属していたapc.phpで見ることができます。念のため、gitから再度ダウンロードして、Webで参照できるフォルダに配置しました。
# wget https://github.com/krakjoe/apcu/archive/master.zip # unzip master # cp apcu-master/apc.php /var/www/html/localhost/
このapc.phpですが、ユーザー認証情報を書き換えると(パスワードを「password」以外の文字列に書き換えると)ログイン認証で使えるようですが、どうにもうまく行かなかったので、取り急ぎはユーザー認証をスキップしました。
defaults('USE_AUTHENTICATION',0);
これでAPCuの動作状態が見れるようになります。
WordPressでこのAPCuを使う場合、何らかのキャッシュプラグインを使う必要があります。当然ながら、プログラム側で明示的にキャッシュを使う動作をしないとAPCuは使ってくれません。例えば以前使っていたZenCacheプラグインでは、設定画面でデータキャッシュ先をmemcachedやapc、ファイル等から選ぶ設定がありました(確かapcが最速だった記憶があります)。
プラグインを探すと当然ながら数多のキャッシュプラグインがAPCuを使えるということで出てくるわけですが、あまりゴチャゴチャすると分からなくなるので、最もシンプルそうなプラグインを選択してみました。
このプラグインは、インストール後、有効化するのではなく、展開されたphpファイルをトップディレクトリに移動することで有効になるようです。プラグインページでは「ドロップイン」項目に表示されるようになります。
# cd /var/www/html/wordpress # mv plugins/object-cache.php .
導入後の効果ですが、PageSpeed Insightのスコアが変わるようなことはありませんでした。ただ、管理画面のメディア一覧の表示が速くなったり、それなりに効果はあるようなので、サーバー負荷を下げる効果は期待できそうです。
別のプラグインをインストールすれば、もっと効果的な使い方ができるかな、と思いつつ、まずはAPCu+Zend OPcache環境ができたので、良かった、と。
コメント
[…] しま★りん.blog @ayurina […]