このブログもエントリが800を超えて、再構築すると500エラーが出ることが多くなった。
特に個別エントリの再構築は何度もリロードせざるを得ないことがあって、XREAはタイムアウトが厳しめに設定してあるっぽいので、それも合わせて負荷が1000ptを超えることが2回ほどあったり(普通はせいぜい2桁行けばいいほう)。
Movable Type自体の構造が負荷かかりやすいにしても問題すぎる。
近々デザイン(テンプレート)を変更するつもりなので、確認の度に再構築して上記の状態ではちょっとシャレにならない。
というわけで色々調べてみたら、アクセスの度に動的にページを作成してくれるプラグインを見つけた。
The blog of H.Fujiwaraさんの「Perl版ダイナミック・パブリッシング」だ。
導入は至って簡単で、説明通りに実行&設定するだけ。
ダイナミック・パブリッシングにしたのはindex、RSS、カテゴリ、月別、個別。
これで全体を再構築をしてみたが、1分もかからずに終わった。
まぁ、テンプレートだけなので当然の結果なんだけども。
問題があるとすれば、動的作成によって負荷とロード時間がかかることか。
外からアクセスしてないのでどうなるかわかないけど・・・
でも、キャッシュ機能があるし(10MBくらいに設定した)、アクセスするページはindexか最新エントリがメインなので問題無いと思う。
さて、どうなるかな・・・

Previous post 第12回リーグ戦 9日目
Next post 第12回リーグ戦 同盟戦 1日目

Perl版ダイナミック・パブリッシング」への4件のフィードバック

  1. Atom.xmlがダメになってますわ。
    Parse error: syntax error, unexpected T_STRING in /virtual/kotatsu/public_html/phpcache/0529795460.php on line 1

  2. 1行目がPHPスクリプトとして認識されてたのが問題でした。
    修正&確認したので大丈夫だと思います。
    指摘thxです。

  3. Perl版ダイナミック・パブリッシングのキャッシュ機能はデフォルトだと60秒でキャッシュ削除しちゃうにょろ。mt-dynamic.phpの中の記述を変えれば解決にょろ。
    // 一時ファイルを削除する
    $now = time();
    $dh = @opendir(‘./phptemp’);
    while (($file = @readdir($dh)) !== false) {
    if ($file != ‘.’ && $file != ‘..’) {
    $fpath = ‘./phptemp/’ . $file;
    $mtime = @filemtime($fpath);
    if ($now – $mtime > 60) {
    @unlink($fpath);
    }
    }
    }
    すみすみの場合はこうしてるにょろ。これで一週間キャッシュ保持する(はず)にょろ。
    if ($now – $mtime > 60*60*24*7)

  4. phpcacheフォルダの中に容量オーバーしない限りキャッシュされ続けると思ってたのだけど、勘違いでしたか・・・
    帰ったら修正してみます。
    重ね重ねthxです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です