WordPress の高速化 – その3 (MySQL のデータベース エンジンを変更)

前々回の記事前回の記事と WordPress の反応を改善する方法を探ってきた。
PHP のコードの実行を高速化する XCache をインストールしたり、WordPress のページ表示の反応を良くする WP Super Cache プラグインを追加したりした。

確かに、これらの方策によって多少なりとも改善した気がしないでもないが、正直なところ思ったほどの効果は得られたと言えない。
しかしながら、もっと根本的な設定を見直すことで、大きく改善することができた。

それは WordPress の記事や設定などの各種データを保管する MySQL の設定にあった。

WordPress で使っている MySQL は default-storage-engine の値が InnoDB になっている。
MySQL をインストールしたときのインストール ウィザードで「Multifunctional Database」を選択したのが理由だろう。

select database storage engine when install mysql

そもそも、初期値のまま MySQL をインストールしたとしても、default-storage-engine の値は InnoDB になる (Windows に MySQL 5.1 をインストールした場合)
default-storage-engine が InnoDB なので、当然の如く WordPress のデータベースのストレージ エンジンも InnoDB だ。

MySQL のストレージ エンジンについて、ここでは詳しく書かないが、ストレージ エンジンには InnoDB の他にも MyISAM がある。
色々な Web サイトを見ると、MyISAM 独自の機能を使うのでなければ、InnoDB を使うように推奨している。
速度の面では MyISAM の方が有利との評判だが、「更新があるシステムにはInnoDBを選ぼう。MyISAMを選択するならそれなりの理由が必要。それにInnoDBのパフォーマンスはそんなに悪くないよ。」の Web ページには、レコードの挿入、更新を除けば、両者にほとんど差が無いという検証結果が挙げられている (MySQL 5.0.37 以上という限定付き)
他の Web ページでも同じような報告がちょこちょこと挙げられているようだ。

それはともかく、当 Web サイトの WordPress が使っているデータベースで、投稿記事およびコメント、カテゴリとタグを保存するテーブルのストレージ エンジンを MyISAM に変えてみた。
さらにそれらに加えて、煩雑に読み込まれると思われる、WordPress の設定を保存するテーブルのストレージ エンジンも MyISAM に変えてしまう。

ストレージ エンジンを変更するには、MySQL をインストールした OS (Windows Web Server 2008 R2) のコマンド プロンプトで、以下のコマンドを実行するだけだ。
なお、念のために、データベースのバックアップを取っておく方が良い。

※コマンドライン最後のデータベース名は WordPress が使うデータベース
※パスワードの要求には MySQL の root ユーザーのパスワードを入力する
※テーブル名先頭の wp_ は WordPress のインストール時に指定した接頭辞

ストレージ エンジンを変更した後に WordPress のサイトにアクセスしたところ、前々回の記事前回の記事と比べて圧倒的な差が体感できた。
各所の検証結果を鵜呑みにせず、きちんと確認すべきだったと猛省。

関連記事

  • WordPress の高速化 – その2 (WP Super Cache の導入)2011.6.13 (月) WordPress の高速化 – その2 (WP Super Cache の導入) 前回の記事では PHP に XCache を導入した。 XCache を単純に入れただけでは PHP のコードをキャッシュする機能だけしか働かない。 しかし、PHP […]
  • WordPress の高速化 – その1 (XCache の導入)2011.6.8 (水) WordPress の高速化 – その1 (XCache の導入) PHP で書かれた Web ページを手軽に高速化する方法に、PHP アクセラレーターというものがある。  いくつもの種類の PHP アクセラレーターがあり、複数を組み合わせて使用することもできるらしい。 今回はこれらの PHP […]
  • phpmyadmin [Install Maniax 3]2010.1.12 (火) phpmyadmin [Install Maniax 3] インストールマニアックス 3 の予選も今日が最終日。 結局、まともの OSS アプリケーションのインストールまで漕ぎ付くことができなかった。 それでもなんとか PHP はまともに動くようになったので、かたちだけでも整えるつもりで、MySQL […]
  • WordPress 3.1.2-ja2011.5.13 (金) WordPress 3.1.2-ja 当サイトの WordPress が、2010 年 2 月に 2.9.2-ja にアップ グレードしたの最後に、一年以上の長きに亘りそのままになってしまっていた。 その間に 3.0 (WordPres の Web サイトによるリリース ページ) […]

コメントを残す