wordpressの高速化まとめ

このエントリをはてなブックマークに追加 users

自宅サーバへのお引っ越し後第1弾は、wordpressの高速化についてです。

実はうちのサーバ、5年前に買ったお世辞にも良いとは言えない代物でして、お引っ越し直後はかなりモッサリでした。

IMGP5971
うちのファンキーなサーバ。こいつが世界とつながっているわけですな。

このままでは、今までの苦労が無駄に終わると思い、いろいろ試行錯誤した結果、多少マシになったので、その時の一部始終をまとめてみます。

サーバサイドのチューニング

・APC導入
APCとは、PHPアクセラレータのこと。これを入れることで、キャッシュとかとってPHP動作レベルで高速化が図られるらしいので早速導入。といってもdebian系ならphp-apcを入れるだけ。簡単ですね。

sudo apt-get install php-apc

その後はちゃんと動いているか、確認。下のコードでphpinfo()をブラウザで見てみて、apc云々という項目があったら、OKです。

<php? phpinfo(); ?>

・apacheチューニング
apacheでもいろいろとチューニングできます。まずはdeflateでgzip圧縮の有効化

sudo a2enmod deflate

/etc/apache2/mods-enabled/deflate.confに以下のように記述

<IfModule mod_deflate.c>
DeflateCompressionLevel 5
AddOutputFilterByType DEFLATE text/html text/plain text/xml
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|zip|gz)$ no-gzip dont-vary
</IfModule>

お次は、expiresでキャッシュの有効期限を教えてあげる。

sudo a2enmod expires

/etc/apache2/mods-enabled/expires.confに以下のように記述

LoadModule expires_module modules/mod_expires.so
ExpiresActive On
ExpiresDefault "access plus 3 days"

・mysqlのキャッシュ
mysqlにもキャッシュがあります。こっちでもキャッシュを作ります。
まずは次のように打ち込む。

mysql -u myuhe -p
show variables like 'query_cache_%';

ここで、query_cache_sizeが0の場合は、/etc/my.cnfを開いて[mysqld]の項目の中にあるquery_cache_sizeを適当な容量(24Mくらい??)に設定して

/etc/init.d/mysqld restart

します。

クライアントサイドのチューニング

・wp-super-cacheプラグインの導入
かなり有名なプラグイン。静的生成されたキャッシュを作って高速化させようというもの。一時はk-tai styleと相性が悪いとか言われていましたが、今ではほとんど問題ないです。

・header cleanerプラグインの導入
こちらは、wp-super-cacheとはまったく違うアプローチで高速化を図るプラグイン。jsの場所を下に持ってきたり、cssを上に持ってきたり、ソースの書式を整えたりして、クライアント側で高速化を図ろうというものだそうです。
んなんですが、導入したところ、cssが崩れたり、jsが読み込まれなくなったり、と設定でかなり苦しみ導入は見送りました。
ref:Head Cleaner (仮) で、なぜ速くなるのか? : dogmap.jp

まとめ

というわけで、サーバ、クライアント両方でできるチューニングをご紹介してみました。いろいろ苦労したんですけど、うまくいって効果がでたときはやっぱりうれしいもんです。
それと、サーバをいじれるというのも自宅鯖の魅力。電気代かかるとか騒音が、な話もありますが、なんつっても自分が心血注いだものなので愛着が沸きます。
自宅鯖、おすすめです。

Ubuntuサーバ構築ガイド

About the Author

myuhe

南国の山でGPS片手にウロウロしている迷子、もしくは難民. とは言いながら、ネットがないと手の震えが止まらなくなるほどの強度ネットジャンキーでもある。 stay hungry stay foolish ねだるな 勝ち取れ さすれば与えられん no music no life.
blog comments powered by Disqus