サーバを移行してみたことでいろいろ問題が発生しました。
常時 Web サーバを稼働させているとどこかのタイミングでメモリ不足が原因でプロセスが落ちまくる、Apache の負荷がスゴいことになるとかは、稼働するプロセスの数をとことん減らすことでたぶん改善。更新時の高負荷は XML-Sitemap が原因ぽいのでそれをちょっと停止して様子を見てみようかなと。
あとは、少しでも WordPress の動作を快適にしてみたかったので、ぐぐっている最中に見つけた、memcached を使ってオブジェクトキャッシュを行う方法を試してみました。
memcached のインストール
memcached と libevent はソースからインストールしました。
$ wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz $ gtar xvzf libevent-1.4.14b-stable.tar.gz $ cd libevent-1.4.14b-stable $ ./configure $ make $ sudo make install $ cd ../ $ wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz $ gtar xvzf memcached-1.4.5.tar.gz $ cd memcached-1.4.5 $ ./configure --with-libevent=/usr/local/libevent/ $ make $ sudo make install $ sudo cp scripts/memcached.sysv /etc/rc.d/init.d/memcached $ sudo mkdir /var/run/memcached $ sudo ln -s /usr/local/bin/memcached /usr/bin/ $ sudo /etc/rc.d/init.d/memcached start
WordPress で memcached を利用する
まずは PHP から memcached を利用できるようにするために、
$ pecl install memcache
足りないパッケージは適当に追加で。
その後、php.ini の最後に extension=memcache.so を追加して Apache を再起動。phpinfo() で確認すると、
こんな感じで動いてるのが確認できます。
その後、MySQL の設定ファイル my.cnf を編集して、
[mysqld] query_cache_limit = 1M query_cache_size = 24M query_cache_min_res_unit= 4k query_cache_type = 1
として再起動。
最後に、WordPress のオブジェクトキャッシュ機構で memcached を使用するために、 /wp-content/ 以下に http://plugins.trac.wordpress.org/browser/memcached/tags/2.0 からダウンロードした object-cache.php を保存して終了。
memcached の効き具合は、memcache.php で確認できるのでお好みで設置すればOK。
さて、これで少しはマシになったかなあ。表示されるクエリー数は結構減ってるみたいですが。体感できると嬉しいですね。
コメント
コメント一覧 (2件)
[…] 1. memcached入れてみた。でも、使ってないかもw。下記サイト参考にしました。 https://www.u-1.net/2010/09/08/2349/ […]
[…] mysqlの設定を変更。どのくらいが最適化よくわからないので、こちらを参考に。 とりあえず、全く同じ設定に。 […]