WordPressの仕組み
このブログで使用しているWordPressではアクセスされるたびに動的にページを生成して、ブラウザに情報を表示するという仕組みになっているため、どうしてもサーバーに負荷をかけてしまいます。また、この動的にページを生成する過程で、コンテンツの中身を取り出すときには、MySQLでデータベースへのアクセスまで発生してしまいます。
このブログは「さくらインターネット」を使用しています。このレンタルサーバーは、ホームページスペースについては非常に動作がスムーズで混雑している時間でも特に表示にかかる時間は問題ないのですが、MySQLで使用されるデータベースサーバーは別に共用のサーバーがあり、サーバーによる片寄りもあるのですが、ときどき混雑していることもありレスポンスに時間がかかることがあります。
また、最近では同じレンタルサーバーのスペース上にある別のブログ(MovableTypeで作成)のアクセス数が増えてきて 、503 Service Temporarily Unavailableが表示されてしまう場合もあるので、何らかのサーバーへの負荷軽減策を考えなければいけない状況でした。
Wp-cacheプラグイン
そんな中で見つけたのがWp-cacheプラグインです。このプラグインを導入すると、誰かがページの内容を表示させたときの状態をキャッシュに蓄えておいてくれて、次にアクセスした人が要求したページの内容がキャッシュに残っていれば、ページを動的に生成せずにキャッシュの内容を表示してくれるという仕組みになっています。従って、キャッシュにひっとすれば、PHPの実行も最低限に抑えられ、かつデータベースへのアクセスも発生しません。これならばサーバーへの負荷軽減にかなり効果的なはずです。
試してみた
そこでさっそくWP-CACHEプラグインを試してみました。こちら(Ricardo Galli, de software libre » New wp-cache 2.0.21)からプラグインをダウンロードして、Wp-cacheのフォルダごと、Pluginフォルダの下に転送します。そして、管理画面のプラグインで有効化、各種設定でオプションの変更をします。有効化しただけではこのプラグインは動作しないので、enable itというボタンを必ず押してください。また、キャッシュのEXPIRE時間はデフォルトでは3600秒になっていますが、私は10倍の36000秒にしておきました。10時間、キャッシュが有効になっているはずです。
そして動作確認をしてみました。確かに表示される時間がスピードアップしています。これならばサーバーにかける負荷も劇的に減っているのではないかという予感がします。各種設定画面では何個のページがキャッシュされているかも確認できるので視覚的もおもしろいと思います。
うまく動作しているか否か不安なときは、キャッシュが表示されているはずのページで、ブラウザの表示→ソースの表示を指定し、HTMLソースの一番最後に「<!– Cached page served by WP-Cache –>」という文字列が挿入されていることを確認してください。この文字列が挿入されていれば、きちんとキャッシュから読み込まれていることが判ります。
副作用
このプラグインは前にアクセスをした人の状態をキャッシュに残し次の人に表示するという動作をするため、アクセスする人により表示内容が変わるような仕組みを入れておくと意図しない動作をする可能性があります。例えば、検索エンジンからそのページに来た人に判りやすくするために、検索キーワードにマークをするプラグインを入れていたとします。すると、次にアクセスした人は別に自分が検索に使ったわけでもないキーワードにマークされるような状況になります。
コメント