前回はこのサイトを置いているServersMan@VPSのスペックが向上したことを紹介しました。
スペックアップによりメモリが2倍使えるようになったので、このメモリを使ってWordpressの更なる高速化に挑戦したいと思います。
なお、前回のWordPress高速化編とWP Super Cacheの導入については下記を参照してください。
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の場合は、「/home/cfumylmd/public_html/scratchpad.jp/wp-content/cache」になります。
したがって、RAMディスク(tmpfs)がこのディレクトリにマウントされるように設定します。スペックアップにより使用できる保証メモリが1GB近く増えたので、RAMディスクにはその半分の512MBを割り当てておきます。
tmpfsは必要な分しかメモリを使用しないので、最大サイズは大きめにしておいても無駄にはなりません。
512MBのRAMディスク(tmpfs)を使用するためには、次の一行を/etc/fstabに追加しておきます。
tmpfs /home/cfumylmd/public_html/scratchpad.jp/wp-content/cache tmpfs size=512m,mode=775,uid=www-data,gid=www-data 0 0
/home/cfumylmd/public_html/scratchpad.jp/wp-content/cacheディレクトリは、ユーザwww-data, グループwww-data, パーミッション775(rwxrwxr-x)となっているので、オプションとして「mode=775,uid=www-data,gid=www-data 」を指定している点に注意してください。
RAMディスクのサイズを変更するには「size=512m」ところを変更します。「m」をつけるとメガバイト単位の指定になります。
RAMディスクの有効化
それでは用意したRAMディスクを使用します。今回は次の手順をとることとします。
- webサーバ(nginx)を止める
- 既存のキャッシュ用ディレクトリの名前を変更する
- RAMディスクをマウントする
- 既存のキャッシュの内容をRAMディスクにコピーする
- webサーバ(nginx)を再開する
一時的にWebサーバを停止しますのですばやく行うことが肝心です。
コマンドは次のようになります(すべてrootで行います)。
/etc/init.d/nginx stop cd /home/cfumylmd/public_html/scratchpad.jp/wp-content mv cache cache.back mkdir cache mount /home/cfumylmd/public_html/scratchpad.jp/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 /home/cfumylmd/public_html/scratchpad.jp/wp-content/cache type tmpfs (rw,size=512m,mode=775,uid=33,gid=33)
まとめ
今回はVPSのスペックアップで増量したメモリを活用するためにRAMディスクを導入し、WP Super Cacheプラグインのキャッシュデータ置き場として利用してみました。
次回は速度を計測してみたいと思います。
コメント