WordPress高速化: WP Super Cache + RAMディスク

高速化

前回はこのサイトを置いているServersMan@VPSのスペックが向上したことを紹介しました。

スペックアップによりメモリが2倍使えるようになったので、このメモリを使ってWordpressの更なる高速化に挑戦したいと思います。

なお、前回のWordPress高速化編とWP Super Cacheの導入については下記を参照してください。

WordPressを高速化するために各種チューニングをして1週間後の状態を紹介します。測定方法により効果はまちまちですが、チューニングによって全体的にWordPressが高速化していることがわかります。
今回はWordPressの根本的な高速化を図るため、WP Super Cacheというプラグインを導入します。また、WP Super Cacheにあわせてnginxの設定も変更します。

RAMディスク(tmpfs)の導入

ServersMan@VPSの設定を見るとRAMディスクとしてtmpfsが使えるのがわかります。

cat /proc/filesystems
        ext2
        ext3
nodev   proc
nodev   sysfs
nodev   tmpfs
nodev   devpts
nodev   binfmt_misc
nodev   fusectl
nodev   fuse
nodev   rpc_pipefs

そこでWP Super Cacheプラグインがキャッシュデータを置くディレクトリをRAMディスク(tmpfs)に変更してしまえば早くなるのではないか、というのが今回の作戦です。

WP Super Cacheプラグインは、サーバがDebian GNU/Linuxの場合は、「/usr/share/wordpress/wp-content/cache」になります。

したがって、RAMディスク(tmpfs)がこのディレクトリにマウントされるように設定します。スペックアップにより使用できる保証メモリが1GB近く増えたので、RAMディスクにはその半分の512MBを割り当てておきます。

tmpfsは必要な分しかメモリを使用しないので、最大サイズは大きめにしておいても無駄にはなりません。

512MBのRAMディスク(tmpfs)を使用するためには、次の一行を/etc/fstabに追加しておきます。

tmpfs /usr/share/wordpress/wp-content/cache tmpfs size=512m,mode=775,uid=www-data,gid=www-data 0 0

/usr/share/wordpress/wp-content/cacheディレクトリは、ユーザwww-data, グループwww-data, パーミッション775(rwxrwxr-x)となっているので、オプションとして「mode=775,uid=www-data,gid=www-data 」を指定している点に注意してください。

RAMディスクのサイズを変更するには「size=512m」ところを変更します。「m」をつけるとメガバイト単位の指定になります。

RAMディスクの有効化

それでは用意したRAMディスクを使用します。今回は次の手順をとることとします。

  1. webサーバ(nginx)を止める
  2. 既存のキャッシュ用ディレクトリの名前を変更する
  3. RAMディスクをマウントする
  4. 既存のキャッシュの内容をRAMディスクにコピーする
  5. webサーバ(nginx)を再開する

一時的にWebサーバを停止しますのですばやく行うことが肝心です。

コマンドは次のようになります(すべてrootで行います)。

/etc/init.d/nginx stop
cd /usr/share/wordpress/wp-content
mv cache cache.back
mkdir cache
mount /usr/share/wordpress/wp-content/cache
mv cache.back/* cache/
/etc/init.d/nginx start
rmdir cache.back

これでRAMディスクがキャッシュ用のディレクトリにマウントされてWP Super Cacheで使用されるようになります。

一応、mountコマンドを実行するとRAMディスクがマウントされているのがわかります。

mount
/dev/simfs on / type reiserfs (rw,usrquota,grpquota)
tmpfs on /usr/share/wordpress/wp-content/cache type tmpfs (rw,size=512m,mode=775,uid=33,gid=33)

まとめ

今回はVPSのスペックアップで増量したメモリを活用するためにRAMディスクを導入し、WP Super Cacheプラグインのキャッシュデータ置き場として利用してみました。

次回は速度を計測してみたいと思います。