- 2008-01-08 (火) 22:22
- C/T:PC
MTを使っていて管理している記事の数が多くなってくると、とたんにパフォーマンスが悪くなってくる事が多い。その中でも特に問題となるのが、「再構築」時にサーバエラー(500)が発生して再構築が出来なくなる、というもの。
MTは記事を投稿した場合、まずDBに保存し、次に用意しておいたテンプレートにしたがって各種HTMLを生成する、という動きをします。ですが、このHTML生成が大きな負担となるようなのです。そしてここで処理がこけるとHTMLが生成されませんから、当然ページは公開されません。結果労力を減らすためにBLOGを使っているのに、そもそも更新が出来ねーじゃん、ってな事になってしまいます。
で、どうにかなんねーのかなーと探してて対処法を見つけ、実際に劇的にパフォーマンスが改善されたので、その方法をここにご紹介する次第であります。
再構築時のエラーの原因と対処
再構築時のエラーにまつわるトータルな記事です。この記事を基本にして対処を行いますが、部分部分でよりベターな記事がありますので、これを以下に紹介します。
再構築の単位を制御する
例として、再構築時に実行される記事単位のHTML(エントリー・アーカイブ)の生成数は、デフォルトで40ずつとなっています。これを10個ずつにしたりする方法が紹介されています。こうすることによって、再構築時のサーバの負担を減らすわけですね。
使用するDBを変更する
大体DBについては、デフォルトで設定されるBerkeley DBを使用することが多いと思います。しかしこのDB、初めはいいんですが、記事がある数を超えだすととたんにパフォーマンスが落ちます。ですからその対処法としては、やはりそもそものDBをもっと良いものに乗り換える、という対処が非常に有効です。その方法を詳しく紹介しているのが下記の記事です。
そして上記記事で紹介されているDB移行ツールのサイトが下記。
ご自分の使用しているサーバにその乗り換え先DBがインストールされていることが条件になってしまいますが、DBさえあれば上記ツールで簡単に移行させることが出来ます。(ただこの移行ツールについては、現在MT ver.3.1-3.3までの対応となっています。)
ちなみに、冒頭で紹介したトータルな記事(小粋空間: Movable Type で再構築エラーになる場合の原因と対処)に「ロリポップならSQLiteがおすすめです」という言葉がありますが、まじオススメ。私はロリポップでMySQLを使っていたんですが、SQLiteに乗り換えたら体感レベルで確実に早くなっちゃって、びっくりしました(笑)。
それまでは、再構築の単位を変えてもエントリー・アーカイブでエラーが出てたりしてたんですが、それもスッキリ無くなっちゃいました。MySQLってなんとなく早い~ってイメージだったんで何も考えずそっちを使ってたんですが、一概には言えないんですねえ。
以上、MTで再構築するときにエラーが出ちゃったりしたときの対処方法のご紹介でした。
- 1つ新しい記事:サイト再開しました
- 1つ古い記事:バンプレのプライズの「Z」が凄いらしい