t-yama

サーバー環境による500エラー改善について

0

現在、レンタルサーバー(sixcore)にてMT5を運用しております。

記事が300を超えており、また、1ページで使用しているカスタムフィールドが10ほどと多いためか、再構築が最後まで終わらなく、500エラーで終わってしまうことが多発しております。

また、トップページなどのスタティックにしている部分も、再構築が500エラーで終わってしまいます。

現在のレンタルサーバー(sixcore)は、他のレンタルサーバーをいろいろ試した結果、MTを運用するのには比較的快適な環境であったのですが、やはり記事が増えていくにつれて、現状のような状況になりました。

これは、専用サーバーなどに変更すれば、改善されるものなのでしょうか?

ご存知の方がいらっしゃったら、ご教授願えれば幸いです。

返信(4)

| 返信する
  • t-yamaさん

    はじめまして。

    手っ取り早い方法として、一度に再構築するブログ記事の件数を、上限設定で絞る、という方法があるのですが、これではどうでしょうか。


    http://www.movabletype.jp/documentation/appendices/config-directives/entriesperrebuild.html

    http://www.h-fj.com/blog/archives/2009/05/11-114553.php

  • にっく様

    御回答ありがとうございます。

    ご返信いただいた内容につきましては、現在EntriesPerRebuild 20(10も試し済み)にて設定しておりまして、これでも難しい状態です。

    また、「The blog of H.Fujimoto」様や「小粋空間」様などで出ている記事のものはある程度試し済みの状態です。

    その他、なんらか良い方法があれば、ご教授願えれば幸いです。

    ありがとうございました。

  • こんにちわ。

    私もこれまでsixcoreと同系列のエックスサーバーで、同現象に遭遇したことが何度かあります。

    その時の解決方法としては、

    1. 全テンプレート
    mt:Entriesなどは1テンプレート内で1回のみ使用とする。
    (1回で済まなそうな場合でも何個も配列使ってなんとかする)
    EntryTitleなどのファンクションタグで同一テンプレート内で何度も使用するものは、
    1度変数へ入れてからそれを呼び出すようにする。
    (カスタムフィールドも同様)

    2. アーカイブ系テンプレート
    メニューなどでcategories系のループを使用する必要がある場合は、
    インデックステンプレートでその部分のみ書き出し、各テンプレート内ではPHPでのインクルード処理で済ませる。
    他、サイト内で共通で使用できるものは同様の処理をする。

    などなどです。
    基本的にはDBにアクセスがあるであろう処理をなるべく減らしていくようにすれば、
    ほとんどの場合はなんとかなりました。

    記事数にも依るかと思いますが、同サーバでは70個のカスタムフィールドと700件の記事でも快適に使えるまでになっています。

    あまり具体的でなくてすみませんが、参考になればと思います。

  • SA様

    ご返答ありがとうございます。

    「mt:Entriesなどは1テンプレート内で1回のみ使用とする。」などは、まさにその通りかもしれませんね。
    本などを読んでの独学で作ったテンプレートなので、おそらくは何度も使ってしまっているのだと思います。

    その他の解決案も含めて、早速、試してみますね。

    ありがとうございました。

返信する