2007年04月22日
Perl版ダイナミック・パブリッシング
このブログもエントリが800を超えて、再構築すると500エラーが出ることが多くなった。
特に個別エントリの再構築は何度もリロードせざるを得ないことがあって、XREAはタイムアウトが厳しめに設定してあるっぽいので、それも合わせて負荷が1000ptを超えることが2回ほどあったり(普通はせいぜい2桁行けばいいほう)。
Movable Type自体の構造が負荷かかりやすいにしても問題すぎる。
近々デザイン(テンプレート)を変更するつもりなので、確認の度に再構築して上記の状態ではちょっとシャレにならない。
というわけで色々調べてみたら、アクセスの度に動的にページを作成してくれるプラグインを見つけた。
The blog of H.Fujiwaraさんの「Perl版ダイナミック・パブリッシング」だ。
導入は至って簡単で、説明通りに実行&設定するだけ。
ダイナミック・パブリッシングにしたのはindex、RSS、カテゴリ、月別、個別。
これで全体を再構築をしてみたが、1分もかからずに終わった。
まぁ、テンプレートだけなので当然の結果なんだけども。
問題があるとすれば、動的作成によって負荷とロード時間がかかることか。
外からアクセスしてないのでどうなるかわかないけど・・・
でも、キャッシュ機能があるし(10MBくらいに設定した)、アクセスするページはindexか最新エントリがメインなので問題無いと思う。
さて、どうなるかな・・・
トラックバック:Atom.xmlがダメになってますわ。
Parse error: syntax error, unexpected T_STRING in /virtual/kotatsu/public_html/phpcache/0529795460.php on line 1
1行目がPHPスクリプトとして認識されてたのが問題でした。
修正&確認したので大丈夫だと思います。
指摘thxです。
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)
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
-
PC関連
(25 件)
-
株
(173 件)
-
Lineage 2
(17 件)
-
マビノギ
(5 件)
-
Movable Type
(26 件)
-
パンヤ
(25 件)
-
Tales of Eternia
(2 件)
-
Ultima Online
(137 件)
-
無限派閥
(35 件)
-
無限仮想
(33 件)
-
Wyvern Liga
(298 件)
-
倭国派閥
(94 件)
-
倭国仮想War
(38 件)
-
無限派閥
(35 件)
-
その他
(164 件)



