なんだか最近ページの読み込みが異様に遅くなってきたため、色んな所で騒がれている高速化の方法をいろいろとためしてみることにしました。
今回試したこと
- データベースキャッシュプラグインを追加
- 翻訳ファイルキャッシュプラグインを追加
- CDNを設定
- mod_expiresを設定
データベースキャッシュプラグインを追加
DB Cache Reloaded Fixというプラグインを使用します。
このプラグインは、データベースとのやりとりをキャッシュしてクエリ(データベースにアクセスするための命令)を減らすことで読み込みを高速化しようというものです。
WordPress › DB Cache Reloaded Fix « WordPress Plugins
まずは↑からダウンロードするか、「プラグイン」→「新規追加」から検索してインストールしましょう。
インストールして有効化すると、「まだキャッシュが機能してないよ」と言われますので、設定ページを開いて「有効」にチェックします。
有効期限はデフォルトのままでも良いですが、短ければ再キャッシュまでの間隔も短くなると思いますのでこの辺はお好みでですね。
とりあえず5分とか10分とかで使ってみて、少しずつ時間を延ばして様子見とかで良いんじゃないのでしょうか?
自分は今は15分にしています。
他にも設定項目はいくつかありますが、よく分からなければ基本的にはそのままでもOKなようです。
翻訳ファイルキャッシュプラグインを追加
続いては翻訳ファイルのキャッシュです。
001 Prime Strategy Translate Acceleratorを使用します。
WordPress › 001 Prime Strategy Translate Accelerator « WordPress Plugins
WordPressは「.mo」という翻訳ファイルを利用することで日本語化しています。
つまりWordPressの管理画面で日本語が使えるのはこの翻訳機能のお陰なのですが、この翻訳機能が地味に重いんだとか。
なのでこれをキャッシュしたり、動作を止めることで高速化しようというものです。
インストールして有効化したら、「設定」から「Translate Accelerator」を選択し設定画面に入りましょう。
キャッシュを有効にする
まずはこれをONにします。ONにしないとキャッシュが作成されません。
キャッシュタイプ
APCとファイルの2種類の方法でキャッシュが可能です。
APCが利用できる場合はAPCを利用したほうが高速なようです。
因みにロリポップの場合、サーバーのコントロールパネルから「Webツール」→「PHP」と入り、php.iniの設定から「apc.enabled」を「1」にすれば大丈夫そうです。
あとは、WordPressの各所でキャッシュを使うか、通常通り翻訳するか、そもそも翻訳をやめるかを選べますのでおこのみで。
MO Cacheとの違いは?
言語ファイルのキャッシュプラグインとしては、もう一つ、MO Cacheというのが有名ですね。自分もいままでコチラを使っていました。
インストールして有効化するだけで設定不要(と言うか項目がない)なので楽ちんです。
ただ、細かい設定をしたい場合は001 Prime Strategy Translate Acceleratorのほうが良いですね。
面倒くさがりならMO Cacheを、入れるだけで効果があるとかなんか気持ち悪いって方や細かくいろいろ設定したい方なんかは001 Prime Strategy Translate Acceleratorをつかうのが良いのではないでしょうか?
CDNを設定
今回の期待の星。CDNです。
CDNは画像や動画といった大きなファイルを別のキャッシュサーバーから配信させることでサーバーの負荷を下げる仕組みのようです。
YouTubeみたいな動画を扱ってる上にアクセス数が非常に多いところで採用されてますね。
実はCDNは維持費がなかなか大変らしいのですが、無料でも利用可能なCloudFlareというCDNサービスがあり、ここんとこよく話題になっていたのでこれを試してみました。 ((実は2、3日接続が不安定なのはこれの設定に伴いDNS設定を切り替えたからなのでした。。))
設定は非常に簡単です。サイトも日本語化されているので(かなり怪しいですが)さくさくと設定できると思います。
設定方法は他のブログなどでも散々紹介されていますので今更書く必要もないと思いますが、ざっくりと説明すると、
- アカウントを作る
- CDNサーバーを利用したいサイトのドメインを登録する
- DNSの設定とかを自動的にスキャンしてある程度自動的に設定してくれるので、漏れがあったらそこを修正
- 新しいDNSサーバーのアドレスが表示されるので、それをドメインを取得したサービスのコントロールパネルから入力する
- DNS浸透を待つ(いまここ)
こんな感じですね。
因みにWordPressにはこのCloudFlareと連携できるプラグインがあり、
キャッシュ系のW3 Total Cacheというプラグインと、CloudFlare公式のやつがあります。
キャッシュプラグインはほかのものを今のところ使用中なのでCloudFlareの公式っぽいヤツだけ試してみましたが、どうやらここからCloudFlareを操作できるわけではなく、どちらかというとCloudFlareが提供するアンチスパム的な機能を使うためのものっぽいですね。
因みにこのプラグインはCloudFlareのAPIキーが必要なので取得しておいてください。
APIキーはCloudFlareのサイトにログインして、「Account」で自分のアカウント情報ページに入ると、一番下に「Your API key is:」という欄がありますのでそこから確認できます。
mod_expiresを設定
これはApacheのモジュールの1つで、キャッシュの有効期限とかキャッシュするファイル形式の指定なんかを行えるものらしいです。
とりあえず、フォーラムにあったこの設定をそのまま使わせてもらうことにしました。
1 2 3 4 5 6 7 |
ExpiresActive On ExpiresByType image/jpeg M3600 ExpiresByType image/gif M3600 ExpiresByType image/png M3600 <Files ~ "\.(jpg|gif|png)> Header set Cache-Control max-age=3600 </Files> |
あと他にやる予定のこと
とりあえずいろいろ試してみましたが、あとはまだまだこのテーマ自体の構造にも改善できるところが沢山ありそうなので、次はそっちを少しずつ修正していこうと思います。
まだ設定したばかりなので何とも言えませんけれど、もう少しして効果が現れてきたらまた書こうと思います。
それでは。
コメントする