Personal tools

WordPress チューニング

written by ultraviolet on

サーバ移行はようやく事前準備が終わりました。mysql の InnoDB 移行を諦めたら、WordPress もあっさり動いた。/home と /usr/local の中身もだいたいコピーできたし、早ければ明日の深夜には移行できるか。でもマザーボード入れ替えが面倒なんだよな…

それはそれとして、WordPress のDBクエリをがんがん削ったら、サーバの load average がどんどん下がって楽しい。
Monobook 0.8 でもクエリ数だいぶ減りましたが、さらに plugin や wp-includes までいじっております。

  • is_blog_installed() を一行目で問答無用に return true させると2個削減。だってインストールされてるのって当然ぢゃん。
  • Simple OpenID plugin も毎回テーブルチェックやってたので、これを return true させて3個削減。
  • 実は WP23 Related Posts plugin がまた大量のクエリを吐いていた。関連発言を5個表示させる状態だと11回もクエリしやがる。これもキャッシュした。効くのは is_single の時だけだけど。
  • get_posts()のコードが不思議。wp_cache_get()でキャッシュに入ってるかのチェックはやるくせに、データをキャッシュに入れる方が抜けてる。WordPress 2.5 では直ると思うけど、先走って修正してしまった。
  • previous_post_link()next_post_link()も2回ずつクエリを吐いて、しかもキャッシュしない。なので Monobook 専用の関数を作った。
  • つまり手当たり次第にキャッシュしてるので、XCache の var cache 容量を64Mまで増やした。

とかやったら、トップページ表示時のクエリ回数が4回! (しかも最初の一回は set names utf-8)
実に素晴らしいな。


Leave Your Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

« Back to text comment