昨晩,何とか不定期日記をカモランドのWiki上に移行したが,今朝の6時半頃からサーバがメモリ不足に陥って,サーバを再起動するしかなくなってしまった.

1年か2年か何年ぶりかの再起動で残念だったが,メモリ消費の原因はhttpdに呼び出されたwiki.cgiのプロセスのようで,タイミング的に不定期日記しか考えられない.

不定期日記では同一カテゴリ内のページ移動を重視していて,どのページからでもカテゴリ内の記事一覧を左メニューのツリービューから見ることができるようにしているのだが,おそらくこのページ一覧処理取得が重いのが原因.

一覧取得処理では,毎回Ajaxのリクエスト毎にカモランド全ページのツリー構造をメモリ上に構築していたので,まぁ重いわけです.

とりあえず,

  • 内部でページ一覧情報のキャッシュを持つようにして,できるだけキャッシュを読ませて処理を軽くする

という対処をしておいた.

しかし,ページのツリー構造は,

  • パンくずリスト
  • 関連ページ
  • 子ページ一覧

など色々なプラグインで使っているので,場当たり的なキャッシュではなく共通的な情報として持たせることを考えるべきか.

内部でのWikiドキュメントの管理にはYukiWikiDBをtieして使っているが,例えばこれを改造して,

ドキュメントのSTORE,DELETE時にインデックスを更新する
とか.そしてインデックスにはページの階層構造を保持すると.考えてみるべし.


© 2024 KMIソフトウェア