WordPress MUに memcachedを導入

※ やっぱり外した
管理ページの挙動がおかしい。プラグインを使用しないにしてもサイドバーのプラグイン設定が有効で、実際そのプラグインが生きていたり、サイトの切替えをやったら設定項目に全然別のサイトの項目が表示されたり。
WordPressが自前でオブジェクト・キャッシュしている内容と memcachedがキャッシュしてる内容が混ざるような気がする。memcachedが悪いとは思えないので、memcachedはそのまま有効にして、object-cache.phpを使わないようにして様子をみます。でも使わないと全然キャッシュが効いてこないんだよね。

 
特に遅くなったわけじゃないんだけど、劇速ということらしいのでテスト環境のWordPress MUmemcachedを入れてみた。

手順1

http://blog.f14s.biz/?p=760の通り。

# apt-get install php-pear
# apt-get install php5-dev
# apt-get install build-essential
# pecl install memcache

上の3つは4番目をやるとき、peclがねぇ、phpizeがねぇ、makeがねぇと言われたため。

手順2

# e /etc/php5/apache2/conf.d/memcache.ini

extension=memcache.so

このファイル(/etc/php5/apache2/conf.d/memcache.ini)はないから作ります。apache2/conf.dに設定を置いておくと、apacheが起動時に読み込んでくれると。

# apt-get install memcached
# /etc/init.d/apache2 restart

これで memcachedが起動します。

手順3

確認方法は、これ(↓)だけ書いたファイルを Webからアクセスできるところに置いて表示させます。

<?php  phpinfo()  ?>

結果はこんな感じ。

手順4

次に、http://plugins.trac.wordpress.org/browser/memcached/trunk/object-cache.phpから object-cache.phpをダウンロード。
Plain Textがテキストファイルとしてのダウンロード・リンク。
この object-cache.phpを wp-content/ 直下におく。

手順5

MySQLのチューニング。

$ e /etc/mysql/my.cnf

[mysqld]
query_cache_limit = 1M
query_cache_size = 24M
query_cache_min_res_unit= 4k
query_cache_type = 1

memcachedのチューニング。Kosei Kitahara's Blog: ubuntu で nginx から memcache を利用するを参考にしました。

$ e /etc/memcached.conf 

-m 128
# /etc/init.d/mysql restart
# /etc/init.d/memcached restart

http://www.alink.co.jp/tech/blog/2009/05/06/memcached-php%E3%81%A7memcached%E3%81%AE%E7%A8%BC%E5%83%8D%E7%8A%B6%E6%B3%81%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/で紹介されている memcache.phpを入れておけば、キャッシュのヒット率なんかがわかってベターです。