サーバこのサイトのMySQLストレージエンジンは「高速」という理由でMyISAMを使っています。適切なチューニングを行えばInnoDBは遅くないですし、何よりMyISAMよりも安全なはず。運用中のDBを弄るのはリスクもありますが、今後の為にInnoDB化します。1.事前準備編まずはmysqltunerで現状のパフォーマンスを確認します。locks)apacheベンチも実行しときます。received次にmysqlにログインしてWordPress用のテーブル名を確認します。sec)WordPressのストレージエンジンをMyISAMで行くと決めた時からメモリ節約のためInnoDBは無効化していました。InnoDBを再有効化+最適化するには、InnoDBログファイルを再作成する必要があるのでファイルを削除します。wp_wordpress2.InnoDBを有効化するまずはmy.cnfのInnoDB無効化設定をコメントアウトしInnoDBの初期設定を追加します。2mysqlを再起動してInnoDBを有効に出来るか、起動時に変なエラーが無いか確認します。distributionfailの文字がないのでInnoDBは起動したっぽい。念のためmysqlのhave_innodbを参照して確認します。sec)Yesになっているのでバッチリです。engine=InnoDB;」を実行するだけです。stopでhttpdを止めてから実行するつもりでしたが、ついうっかり停止せずやってしまいました。問題なかったので結果オーライです。sec)InnoDB化できました。receivedMyISAMの時は14.01[#/sec]でしたので、少なくとも遅くなっていないようです。成功かな?4.InnoDB用のパラメータチューニングこのままではMyISAMとInnoDB両方のキャッシュを確保していることになるので無駄なメモリがあります。1GBでやり繰りするためは少しでもメモリを節約したいのでMyISAM用の設定を削除します。今のところ設定しているmy.cnfのパラメータはこんなところ。300ついでにmysqltunerの結果も。3.5M/20.0M結果はMyISAMの時と変わらず、概ね良好でした。テーブルのデフラグメント化を試しても変わらなかったので諦めます。InnoDB化は安全性の確保が目的でしたが、MySQL5.6へバージョンアップすることによる高速化の布石でもあったりします。記事化はしばらくお預けになりそうです。コメントをキャンセルメールアドレスが公開されることはありません。