2013.6.19.Wed. 11:54
サイト始動以降初めて、1日1回更新の記録が途絶えてしもうたですわい(´・ω・`)
というのもここ最近、MT再構築で謎の500エラーが出るようになりましてですね、昨日一日はその対応に終始していた訳なんですよ。
せっかくなんで、今回行った対応策及び有効と思われる手段について、以下に記しておこうと思うですよ。
これはサーバーのスペックによるものなので、自力でサーバー設置している人とかでないと、個人ではどうしようもない。
僕はロリポプランで、そして推奨されているmySQL利用でMTを運用しているんですが、それでも火力不足になってしもうたっぽい。
やっぱ再構築って少なからずサーバーに負担かけていて、ロリポでMT動かしてるっていう人も星の数ほどいるでしょうからね、どこかでそういう「サーバー負担かかりなう」なタイミングに出くわしてしまう事もある訳ですよ。
ヘテムルとかにしておけばもうちょっと良い感じになるんでしょうかね、よく分からん。
「mt-config.cgi」に以下のような一文を追記します。
(MTのバージョンによってはEntriesPerRebuild 40
という指定が最初から入っているものもあります)
EntriesPerRebuild 10
これだけで、多少再構築に時間がかかるようにはなるものの、非常に高確率で解決します。
それでも上手くいかない場合は、数字を更に少しずつ小さくしていくと良いでしょう。
あまりソースを細分化せず、ある程度一つのモジュールにまとめておきます。
モジュールを読み込みに行く回数が減少する事でサーバーの負担を軽減出来ます。
各ページに共通して登場する要素のうち、MTタグを含まない静的なソースのみで構成されている要素については、いっそ外部ファイル化してしまうのも良いでしょう。
ただし各ページがHTMLやPHPであるのに対し、検索関連はCGIとなっているので、その辺についてもお忘れなきよう。
500エラーが発生してもそこで再構築を止めてしまうのではなく、再構築をリトライする事が出来るようになる、というプラグインです。
ただし有償(52500円)。
15日間だけ利用出来る評価版のダウンロードもありますが、僕はまだ試していません。
一気に再構築するのでなく、少しずつ小分けに再構築していくというツールです。
僕は試していません、というかMT2.64なんていうバージョン初めて見た(;・ω・)
今回はEntriesPerRebuild
の数値を5まで引き下げてもあかんようになった為、テンプレートモジュールの数をシェイプアップさせる手段をとりました。
ウィジェットセットはもっぱらアフィリエイトで使用していたんですが、これは全てSSIでまかなう事とし、ウィジェットセットは全て削除しました。
その結果、EntriesPerRebuild
の記述なしでも再構築が正常に通るようになりました!ヾ(*゚∀゚)ノ
それでもまだ再構築にちょっと時間かかりすぎてるけど(;・ω・)
頼んまっせロリポおじさん…。