mysqlのクエリキャッシュを有効化してWordPress高速化計画

MySQL logo
Photo:MySQL logo By tmolini

WordPress高速化は利用ユーザのテーマだ!

WordPressを高速化するためにブロガーのみなさんはプラグインを色々と入れたりテーマを自作して呼び出すスクリプトやCSSの数を減らしたり画像を軽くしたり苦労されていると思います。
今回は、サーバまるごと借りている人や、VPSで構築してる人、自宅サーバで運営している人向けにそもそもバックグラウンドで動いているmysqlのキャッシュ機能を利用して同じSQLの結果はキャッシュから取得して高速化するという設定についてお話したいと思います。

早速設定。

Linuxユーザお馴染みのviエディタで『/etc/my.cnf』を開いて以下記述を追加する。
[mysql]というのはすでにあるのでそこへ書いていきます。
[html]
[mysqld]
~中略~
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=32M
query_cache_type=1
[/html]
それぞれの値の説明です。
query_cache_limit=キャッシュ最大値
query_cache_min_res_unit=4Kが推奨値なのでそのまま
query_cache_size=クエリキャッシュに割り当てるメモリ
query_cache_type=0:OFF 1:ON 2:DEMAND

有効にするためにサービス再起動

設定を有効にするためにmysqlのサービスを再起動しましょう。
ブログ運営中でもほんの数秒で再起動できると思います。
[html]
service mysqld restart
[/html]

設定の有効化確認

設定が反映されているかを確認する。
mysqlへログインして以下SQLを実行する。
[html]
mysql> show variables like ‘query_cache_%’;
+——————————+———-+
| Variable_name | Value |
+——————————+———-+
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 33554432 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
+——————————+———-+
5 rows in set (0.00 sec)
[/html]
実行結果を確認し『query_cache_size』が『0』になっている場合は有効化されていないそうなのでもう一度、入力ミスや設定ファイルの挿入箇所間違いがないか確認します。
ちなみにキャッシュは SELECT文にのみ適用されるらしいです。
※どうもかなりメモリを利用しているようです。topコマンドで確認すると1番メモリを利用してるのがmysqlですがデータベースなので仕方ないですね。

どれほどの効果が出たのか?

ブロガーおなじみのGTmetrixで測定しまいたがPage Load Timeは2.50秒前後と導入前後で特に変化なしです^^;

石田 豊
毎日コミュニケーションズ 2005-03
¥ 2,625
西沢 夢路
ソフトバンククリエイティブ 2007-12-26
¥ 3,129

こんな記事のリクエストからディズニーランドに一緒に遊びに行きませんか?というお誘い、写真を一緒に撮りに行きましょうというお誘い、誤字・脱字をはじめ全てのお問い合わせは、こちらへお願いします。
定期的な購読はRSSにご登録お願いします。
掲載している写真の個人的利用、保存はOKですが、複製、再利用、営利目的の利用は禁止です。

タイトルとURLをコピーしました