珍しく Radiant CMS のログを見たら妙なことに気づいた。

Processing SiteController#show_page (for xx.xxx.xxx.xx at 2009-05-24 00:15:42) [GET]
  Parameters: {"action"=>"show_page", "url"=>["rss"], "controller"=>"site"}
Completed in 554.86300 (0 reqs/sec) | DB: 0.11300 (0%) | 200 OK [http://s2works.homeunix.net/rss/]

応答するのに 9 分以上かかっている。ただし /rss/ だけ。 試しに自分で /rss/ にアクセスすると、確かになかなか表示されない。 この状態で他のページを開いても同様。 /rss/ が表示されるまで待ってページを保存したらサイズが 18.1MB もある。 中を見ると、同じページの内容が何度も書かれているせいで肥大化してるらしい。 ひとつ下の階層の全ページ内容を表示するようにしてるページが、サイト内全てのページ内容を含んでいる。 さらにそれが入れ子になっている。そりゃ重いわけだ。 以前からサイトが重たいことがあるのは知ってたけど、RSS が原因だったとは。

そもそも Radiant CMS は特定の 1 ページ(例えば /log/ とか)の直下にあるページしか RSS に出力できない作りなんだけど、 それを自作の extension で全ページ対象にしたのがまずかったらしい。 とりあえず、下の階層の内容を表示するページは RSS に入れないようにして問題を回避。