InnoDBとblog_ajax_json_search.js (2012年1月 5日)
ダイナミックパブリッシングにして再構築に時間がストレス無くなったのはいいが、表示にアホみたいに時間がかかるようになり、アーカイブだけダイナミックでも20秒くらいかかる。これじゃ、今のネット環境だと駄目だなと思い、記事と日付エントリーだけダイナミックで後は戻したのだが、やはり気になるモノは気になるのでなにか、いい方法はないモノかとググっていたらモジュール化なるものが。いや、もうMovableType3の頃から実装してあったらしいけど、すっかり無視していた。
サイドバーにあるコンテンツをモジュール化しちゃえば、明らかに再構築にかかる手間が経るはずだとトライ。「MTInclude」のmodule、fileを使い分ければサイドバーのモノやヘッダーやフッターは外に追い出せてメインページがすっきり。これでダイナミックパブリッシング部分の表示が4秒くらいに。MTIncludeの使い方はネットをググると宜し。
しかし、まだ4秒位なので何か他に高速化の方法論はないものかと探していたらデータベースのMySQLをチューニングする方法があるらしい。エンジンそのものを強化するってモノだ。そりゃ、そうだな空力パーツをいじるより馬力のあるエンジン載っけた方が簡単に性能アップするわ。空力パーツをもう付け替えているからエンジン変えりゃ効果高いでしょ。ということでInnoDBに変えることにした。「MySQLのストレージエンジンをInnoDBに変更する」を見ながら大体出来るのだけど、ここのサイトと違うのは、「/var/db/mysql/my.cnf 」の設定ファイル。うちのサーバでは「/var/lib/mysql/my.cnf 」にあります。trans_innodb.sqlはうちのサーバでは作られずALTER TABLE [テーブル名] ENGINE='InnoDB';をするだけでInnoDBにすることが出来ました。
ちなみに「実はInnoDBになってなかった」と同じ現象が起きたのだけど、「なぜ "skip-innodb is defined" って言われるの?」での解決策で解決しました。ibdataはコマンド上では消えなかったのでWinSCPで直接消してやりましたよ、ええ。
エンジン載せ替えた結果は。早いです。全ページスタティックで13時間強かかっていたのが、35分になりました。バカみたいです。もちろんモジュール化も影響大きいでしょうが、恐るべしInnoDB。ダイナミックパブリッシングはたった一日で元に戻すことになりました。やはり、スタティックの方が断然早いし、HTML文書での出力ってのがMovableTypeの一番の売り出しね。再構築のデメリットがこれだけ解消されれば、まだまだMovableTypeは戦えますな。
ここまで早くなったら検索機能もつけようと思い、blog_ajax_json_search.jsなる強力な検索機能を。これ相当早いです。「Ajaxを利用したMT用超高速検索システムはスゴすぎる!」に詳しいインストール方法があります。大体、この通りにやればいいですが、<div class="result"></div>で囲む部分は既存のdivタグで囲ってある部分はそれを使った方がいいです。新たに<div class="result"></div>で括弧って動かず、ちょっと苦労しました。
とりあえず、軽量化とモジュール化を成功させたので、次の課題HTML5化に取り組むことにします。
この記事のタグ: MovableType
Wrote by ぷー /コメント (0)
コメント
コメント記入欄