MT軽量化
あー ビックリした。ブログが壊れたかと思った。
結局解決したような、しないような。 コトの顛末は。
2008年12月3日
MT (Movable Type)にクロスサイトスクリプティング (要はハッキング)による
脆弱性が発見されたとかで、(また?)
現時点で最新の4.23への移行が推奨された。
バージョンアップは、時間的余裕がある時にやるとして。
記事を投稿したり、再構築した時に
Internal Server Error (500エラー)が出始めた。先にこっちを解決しないと。
ブログの再構築を行ったら、止まりやんの。
MTのバックアップ機能も完了まで至らない。
ウェブ担当ブログの記事数は432、他のブログも合わせると全体で637。
安っすいサーバーを使っていると、記事の数が増えるとエラーが出てくるとか。
身も心もサッパリ、スッキリする。一番の解決方法は
- MTの再インストール
- サーバーを変更する
なのですが。年末の忙しい時期に手をつけるには大変そうだ。
サーバー移転と同時に最新MT再インストールはするとして、
とりあえずの処置で、格安サーバーを使い倒す戦略に。
何故、Internal Server Error が発生するか、調べてみた。
- MTLinkタグを使用しているとサーバーに負荷がかかりエラーになる場合がある。
- データベースの種類による。 (特にBerkeleyDB)
- 「最近のコメント」欄にrecently_commented_onを利用している。
(lastn属性を使用しない上記の属性は、メモリ消費量が増大)
データベース的には問題ないが、
その他は解決しておいたほうが良さそう。
さらに、今後のためにも。
- 再構単位を減らす
- 不要なMTタグの整理 (お掃除)
- 再構築関連のプラグインを使う
- 思い切ってサイドバー削除 (色々表示してあるからね)
- 更新しない部分のモジュール化
閲覧時の表示が遅いようなら、下記の項目も考慮
- PHP化 (条件付きGETを有効に)
- ダイナミック・パブリッシングと、スタティック・パブリッシングを使い分ける
再構築単位を減らし、不要な (使っていない)MTタグを削除しつつ、
差し替え可能なMTタグはXHTMLで記述してみた。
プラグインを漁ってみると、「指定した日付より前は再構築しない」
「特定のカテゴリーを再構築しない」「分割再構築」「再構築を2フェーズ」
などなど、便利なのを発見。
Smart Rebuild Plugin 1.7が評判良さそうなので導入してみたけど・・・
すげぇ爆速!と思ったらエラーが。
なんだ、MT4以上は使えないのか・・・
速攻で外す。
MT4以上に対応しているのは、
KeyCached
テンプレートの再構築結果をキャッシュし、
次回の再構築でキャッシュを利用することで再構築処理を高速化
ただしキャッシュが肥大化してゆくので、cornで定期的に消す必要あり。
(cornが使えないサーバーだったりしても、KeyCached自体を使う技もあるらしい)
ダイナミック・パブリッシングには対応していないようだから、泣く泣く却下。
MemcachedLocal
FastCGI環境などでのテンプレートの再構築を高速化を実現
FastCGIを動かさないといけないけど、Apache 1.3.xx では動かなそうだ・・・
環境を構築するだけで時間が取られそう。でも速そう。
そうこうしているうちに、昨日は解決の兆しすら見せなかったのに、
今日になったら、不安定だけど更新できるようになってる・・・ ってゆーね。
なんなんだよっ!
原因不明でモヤモヤするけど、反省点として。
おかしくなったらサーバーのせいかもしれないので、真っ先に疑って、
数日放っておく (当然、メンテナンス情報や障害情報に表示されない場合もある)。
ドコモのデータ通信、FOMA HIGH-SPEEDからはブログの更新をしない。
途中でエラーが出るんですよ。でもブログはしっかり更新されているからイイような、
余計に不安が残るような。
ドコモのエリアは広いけど、データ量やポートの制限があるので、
イー・モバイルのエリア内にいる方は、
価格的にも機能的にも、断然イー・モバイルをお薦めする。
今になって思う。
イーモバからドコモに変えるんじゃなかった・・・ と。