« 500エラーの原因を考える... | メイン | 引用のフォントが大きい ... »

2007年03月02日

今回は「500エラー」対処法について紹介します。

前回までの記事は「500エラーが頻発!!」、「500エラーの原因を考える」を見てくださいね。

参考にさせてもらったのは以下の記事です。

500エラーの原因を6つ挙げましたが、その内の2、3、4、6について対処法を説明します。

500エラーの原因

1. DBにBerkeleyDBを使用している
2. エントリーアーカイブの再構築単位の問題
3. エントリーアーカイブの「最近のコメント」でrecently_commented_onを使用している
4. トラックバック送信時間の問題
5. Paginateプラグインの使用
6. デフォルトのタグクラウドの使用

1. エントリーアーカイブの再構築単位を変更する

初期設定では、再構築単位が「40エントリー」になっていますが、値が大きいほどエラーがでるようなので値を少なくします。

「mt-config.cgi」ファイルの221行目にある

# EntriesPerRebuild 40

という部分を

EntriesPerRebuild 20

に書き換え、値を40 → 20に減らしてみました。

MT3.3以降では「EntriesPerRebuild」自体がないので新たに追加してください。
追加したら、ファイルを保存しアップロードすれば終わりです。
mt-config.cgiの場所は通常cgi → mtの中にあります。

2. エントリーアーカイブの「最近のコメント」でrecently_commented_onを使用しない

どうも「recently_commented_on」のタグは負荷が大きくなるようです。
特に「lastn」を使わないでrecently_commented_onを使用するとメモリ消費量が増大するとのこと。

うちのブログもrecently_commented_onを使用していたのでとりあえずWidget Managerを使ってモジュール化してみました。
本当はデフォルトであるWidgetを使いたいのですが、デザインが崩れてしまうのでちょっと保留にしています。
その内、またタグを修正するなり解決策を考えようと思います。

ちなみに最近のコメントのタグはこんな感じです。

recently_commented_onを使用した最近のコメント

<h2>コメント</h2>
<div class="side">
<MTEntries recently_commented_on="7"><span class=
"font_10">
・ <a href="<$MTEntryLink$>"><MTEntryTitle></a><br />
<MTComments lastn="20">
└ <a href="<$MTEntryLink$>#c<$MTCommentID$>" title=
"c<$MTCommentID$>">
<MTCommentAuthor></a> <$MTCommentDate format=
"%m/%d"$><br />
</MTComments></span>
</MTEntries><br />
</div>

Widgetにある最近のコメントはこんな感じです。

Widgetの最近のコメント

<div class="module-recent-comments module">
  <h2 class="module-header">最近のコメント</h2>
  <div class="module-content">
<MTComments lastn="10" sort_order="descend">
    <a href="<MTCommentEntry><$
MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$>"><$MTCommentAuthor$> on <MTCommentEntry><$。MTEntryTitle$></MTCommentEntry></a>: <$
MTCommentBody remove_html="1" trim_to="10"$></a><br />
</MTComments>
  </div>

3. トラックバック送信時間の設定を変更する

トラックバック(Ping)を送信するときの送信時間の設定をします。
初期設定では「20」になっていますが、大量のPingを送信するとエラーが出やすくなってしまうので値を変更します。

1の再構築単位でやったのと同じやり方でmt-config.cgiを修正します。

「mt-config.cgi」ファイルの304行目にあたりにある

PingTimeout 20

となっているのを

PingTimeout 70

として、値を20 → 70に増やしてみました。
100など数値を大きくしすぎると逆にエラーがでやすくなるとのことなので、エラーが出ない範囲で調整すると良いと思います。(^^)

MT3.3以降では「PingTimeout」自体がないので新たに追加してから保存、アップロードをしてください。
mt-config.cgiの場所は通常cgi → mtの中にあります。

4. デフォルトのタグクラウドの使用

どうもMT3.3以降で標準装備されている「タグ」を使ってタグクラウドを表示させるようにしてから500エラーがでるような気がしたので表示自体させず「Tagwire」を使って表示させる予定です。

magnet:.さんところでも書いていますが、やはりタグを入力した後の再構築がやたらと時間がかかるような気がします。
あとはタグクラウドのタグをクリックしてから検索結果を表示するまでの時間が異様に長いのも正直使えないかなと思いましたね。

また、タグクラウドについては設置方法など更新しますね。

以上の4つを修正して今は500エラーがでない状態になりました。
他にも良い方法があるなど情報ありましたら教えてください。m(_ _)m

+++ 関連記事 +++

Blog Peopleランキングへ にほんブログ村ブログノウハウへ 人気blogランキングへ

posted by ゆう at 13:53 このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク このエントリーのブックマーク数 | このエントリーをdel.icio.usに追加する BlogPeople Instant Bookmark  BlogPeople Tags   

トラックバックURL

このエントリーのトラックバックURL:
http://slolab.net/cgi/mt/mt-tb.cgi/134

トラックバック

» MT3.3 再構築500エラーについて from MovableTypeカスタマイズ、ブログ・デザイン関連情報 magnet :.
MT3.3にアップグレードしたのは良いものの、タグを追加するために再構築を繰り... [Read More]

コメント

こんにちは^^ はじめまして
お役に立てて良かったです。
また寄らせてもらいますね^^ よろしく。

☆magnet:.さん

magnet:.さん、書き込み&トラックバックありがとうございます。

MTのトラブルは結構あるのですが、やはりエラーが頻繁に起こり始めると大変なので助かりました。
またいろいろチェックしに行きますんでよろしくお願いします。(^^)

ひゃぁ!すごく勉強してますね。
ゆうさん、お久し振りです。
私にはもう、チンプンカンプン(笑)
MTを使っている人って多いけど
こう言うの読むと、本当にすごいと思いますよ。
私には無理‥‥。
後回し優先事項(なんじゃそりゃ)の対象です。
また遊びに来ます!
あ、一応全部読みましたのよ♪(^▽^;)

☆mineさん

mineさん、すべて読んでくださってありがとうございます。
ほんとですよね、MTわからない人が見たら「何これ!?」ですよね。(笑)

自分も最初そこからMT始めたのでよくわかります。
今も勉強中でわからないところだらけですけど、以前に比べたら何を言ってるかわかるようになってきましたよ。
今ネット環境のない実家にいるのでまた戻ったらmineさんところも伺いますね。(^^)

こんにちは~♪ガイです。

また記事で返信させてもらいました^^

ちょっと長くなりましたが、

要点はつかめるかと思います^^

では、応援♪

☆ガイさん

ガイさん、今回も記事アップまでしていたあぢて感謝感激です!

只今、帰省中で記事がまともに更新できないので(ネットカフェなので)帰ったら新しいブログの構想を含めて楽天アフィリのことや今回と前回の記事も含めて整理してうちのブログでも紹介しますね。
いつも、時間ばかりかかってタイムリーに宣伝できないのが申し訳ないのですが・・・。(^^;)

応援ありがとうございます。
帰ったらこちらからも応援もしに行きますね。(^^)

コメントする

コメントスパム対策をしているのでSecurity Codeに
6桁の数字を入力してくださいね。

えす