デジタリストBlog

« 前の記事 | トップ | 次の記事 »

2006年08月01日

SQLiteをDBとしているMovableType3.31の快速化パッチング

近いうちに出ると言われているMovableType3.32を前に、MovableType3.31でSQLiteを使っているときに起こる再構築エラー、エントリー投稿エラーに対処するためのパッチが配布されている。

そもそもMovableTypeは3.171から3.2、3.3へとアップグレードする中でサーバに対する負担がクソ大きく、エントリーを投稿してサイトを再構築しているところでサーバが500Internal Server Errorを吐くことも珍しくはない。その理由は、(他にもいくつかあると思われるが)SQLiteで効率の悪い処理を行っているMovableTypeのクセによるものらしい。そして、その修正パッチが下記のサイトで配布されている。
http://as-is.net/blog/archives/001147.html

これを適用することで、エントリー投稿時の500Internal Server Errorが出る可能性を抑えることができる。適用の具体的な方法については下記のブログにも書かれている。
http://blog.livedoor.jp/fujimura_s/archives/50535674.html
また、サーバへの負荷を抑えるためにページを構成するモジュールをPHPなどを使って極力外部化するなどの古典的な方法も有効で、このブログもヘッダーからサイドバーからコメント投稿フォームなどなどをPHPでIncludeする方法で再構築のサーバへの負担を軽量化しようと涙ぐましい努力が払われている。シンプルに見えるこのデジタリストBlogのテンプレートは1ページが6つのモジュールに分割されていて、来訪者にはそれをPHPで一つのページのように表示している。再構築時にはそのうちの2つのモジュールのみがmt-cgiによって書き換えられている。

また、「全てを再構築」時にはデフォルトでは40エントリーずつページの再構築されるが、この40という数字はmt-config.cgiで設定することができる。3.2以前からのアップグレードしたブログの場合はmt-config.cgi内をテキスト検索してEntriesPerRebuild 40を見つけ出し、その40を任意の数字に修正する(行頭がシャープでコメントoutされている場合は、このシャープを削除する)。また3.3から新規インストールされたブログの場合はこの「EntriesPerRebuild 40」の一行をmt-config.cgiに書き加えれば良い。パーミッションを755などに設定しておくことも忘れずに。

ちなみに、このデジタリストBlogは現在826エントリーで、再構築に要する時間は1分台なので、MovableType3.31を使っているブログの中では比較的軽い方かな。サーバにはxreaを使っている(2006年7月現在)。

Posted at 2006/08/01(火曜日) 0:15

この記事を読んだ人はこんな記事も読んでいます

コメント





保存しますか?


Loading...

« 前の記事 | トップ | 次の記事 »

« 前の記事 | トップ | 次の記事 »