MT(Movable Type)で構築した某ブログをスマホ対応させてみました。
が、
元々再構築に異常に時間が掛かっていたものが、
スマホ用のテンプレートを追加したことで、
ますます時間が掛かるようになってしまいました。
そこで、一度高速化を行なって見ることに!!
本来はダイナミックパブリッシング化を実行したところなんですが、
いろいろと都合があって今回はMySQLの設定を変更してみることにしました。
と言っても、
MySQLのストレージエンジンをMyISAMからInnoDBへ変更してやるだけです。
作業手順は以下の通りです。
①、まずデータベースのバックアップをとっておきます
②、念の為、現状の再構築に掛かる時間を計測しておきます。
※今回は記事ページの再構築のみを対象とします。
で、
再構築に掛かった時間は約6分!!
結構掛かっています!!
③、それでは、以下のSQLを実行させてMTで使用しているテーブルをInnoDBへ変更します。
>> alter table テーブル名 engine=InnoDB
※「テーブル名」は各テーブルの名称へ変更して下さい。
④、最後に、「my.cnf」を修正して、キャッシュサイズのチューニングも行なっておきます。
何かあると恐いので、変更前に以下のコマンドでmy.cnfのバックアップをとっておきます。
# cp my.cnf my.cnf_bk
で、
# vi /etc/my.cnf
として、
以下の2行を追加します。
=================================
innodb_buffer_pool_size = 16M
innodb_log_file_size = 2M
=================================
※値はパフォーマンスを測定しながら各自の環境に合ったものに変えて下さい。
「innodb_buffer_pool_size」の数値を大きくした場合、
「innodb_log_file_size」も大きくしないとパーフォーマンスは向上しないとのことなので、
同時に変更します。
また、
「innodb_log_file_size」の値は「innodb_buffer_pool_size」を超えてはいけないので、
注意が必要です。
my.cnfを修正した場合は、
その設定を反映させるためにMySQL自体の再起動が必要です。
# /etc/rc.d/init.d/mysql restart
⑤、変更が終われば、本当に高速が図れたかを確かめるために、
もう一度再構築の時間を計測してみます。
結果は約5分30秒!!!!!!
30秒くらいしか変わりませんでした!!
塵も積もればとはいいますが、
塵が積もるほどMTの再構築を行う機会もないので、
30秒くらいの改善ではほとんど意味のない結果に思います。
やはり、
ダイナミック・パブリッシング化で対応するしかないですかね。。。
Movable TypeMTで変数を扱う
Movable TypeMTカスタムフィールドでアップしている画像の表示サイズを変更
Movable TypeMTでPageButeというページ分割プラグインを使ってみた
この記事へのコメントはありません。