再構築なんてこわくない!

| コメント(0) | トラックバック(1)

MT4重い!

(注)ある案件(環境)の話ですからね。あくまでも。

いや、重いですよ本当に。例えばこのサイトの検索、同じプログラムをMT3/MT4で動かしてもはっきりその差がわかる。っていうか、500エントリー程度の某サイトでエントリー保存時にWindowsサーバーのCPUが100%って...どうすりゃいいんだというこの2日だったので対策を施してみた。

施策1.FastCGI化

結論からいうと駄目だった。管理画面の操作はきびきびと動くようになったがやはりCPU100%でエラー頻発。あと一定時間経過すると何故か文字化け。何故だろう複数の環境で遭遇したよ。

施策2.Memcached

これも駄目だった。とにかくCPU100%になってしまうとどうしようもない。

施策3.ダイナミックパブリッシング化

これは実は最初から無理だった。CMSとしてステージングサーバー上で使っていて、出来上がったファイルを公開サーバーにコピーする必要があるっていう要件だったのだ。だからファイルが出来ないのは無理。

施策4.バックグラウンドのキューを使って再構築を行う

使っている人どんだけいるんだろうか? リアルタイムに確認出来ないってことでこれも要件満たせないから今回は駄目。エントリー保存後、バックグラウンドキューを発行するしくみを作っていたのだがこれもうまく動かない。このあたりでWindowsサーバーが嫌になる。サーバー変えようよってな気分に。

施策5.テンプレートの最適化

一定の効果はあったものの根本的な解決にならず。そもそも要求に応え続けた結果、ブログをまたがって再構築するわエントリーのコピーを別ブログに自動生成するわ、1エントリーの保存と同時に10も20もファイル吐いてたらそりゃ重いわな。

施策6.Greg Packer's Publishingの導入

OK! これでクリアできたよ。軽い! 再構築せずにファイルを削除するだけだからそりゃ軽い。ただし施策3と同じくファイルが出来ないと要件クリア出来ない。ということでファイルの再構築をまとめて出来るようにしたよ。

Greg Packer's Publishing については以下のエントリーを参照ください。

ということでRebuildAt1stViewプラグインバージョンアップ!

導入/設定をより簡単に。

ブログ単位で使用/不使用が選択出来るわけだが、プラグインアクションで一括設定可能にしたよ!

ブログ毎の設定

テンプレート毎にリアルタイムで再構築するか最初のアクセス時に再構築するかを選択可能なのだが、これもプラグインアクションで一括設定可能にした。なのでcssとかJavaScriptとかは普通に吐き出すようにできる。

テンプレート毎の設定

タスク実行によってファイルをまとめて生成可能に

これが目玉? ということで、run-periodic-tasks実行で存在しないファイルはまとめて再構築できるようにした。再構築は1ファイル単位、再構築と次の再構築の間の待ち時間も設定できるようにした。これで、夜中に一回、昼休み時間に一回再構築を行って、その後本番サーバーへ反映させる、ってなことができるようになった。もちろんGreg Packer's Publishingだから更新した結果はブラウザでちゃんと確認できる。

再構築間隔の設定

ダウンロード

ライセンス

GPL/商用のデュアルライセンスとします! MTOSではGPL、MT4.0(4.1)では商用ライセンスとします(ウチの会社で扱っているプラグインセットPowerCMSの1.1(MT4.1リリースと同時にリリース予定)にバンドルしますので、ライセンス購入いただいている方へはサポートもいたします!(ってことでいいんですよね!? 識者の皆様)


ライセンスの件ってやっぱり結構悩ましいかな。例えばMT4iってGPLですよね。商用MTにリンクするってのはありなんだろうか。WebSigの時の小川さんのスライドを改めて見直していますが、どうなんでしょうね? MTOSの姿も見えただけに、このあたり明確になると動きやすいなぁ...

トラックバック(1)

トラックバックURL: http://junnama.alfasado.net/cgi/mt/mt-tb.cgi/142

再構築なんてこわくない! (Junnama Online (Mirror))でR... 続きを読む

コメントする

Facebook

Twitter

このブログ記事について

このページは、Junnama Nodaが2007年12月21日 02:43に書いたブログ記事です。

ひとつ前のブログ記事は「モジュール管理によるメンテナンス性を損なわずにテンプレートをフラット化するFlatt(en?)ingTemplate。」です。

次のブログ記事は「再構築なんてこわくない(2)!」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6