キャッシュを持たせる方向で。あんまりやりたくないんだけど。

http://garnet.somethingnew2.com/ のタイムラインについて。9 hours あたりの続き。

データを取ってくる部分ですが、これまたご指摘の通り、遅いです。
一応認識してはいるのでMapsとの連携(geocodingをどうするべ?)の問題と一緒にやっつけることにしました。

開発環境でログを見ると

Processing IndexController#index (for 127.0.0.1 at 2009-02-02 16:43:52) [GET]
Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7AA==--c5984833427eeb83568c3d4f74de15cd21f92d58
Parameters: {"action"=>"index", "controller"=>"index"}
Rendering index/index
Completed in 0.00758 (131 reqs/sec) | Rendering: 0.00510 (67%) | DB: 0.00000 (0%) | 200 OK [http://localhost/]


Processing IndexController#data (for 127.0.0.1 at 2009-02-02 16:44:04) [GET]
Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7AA==--c5984833427eeb83568c3d4f74de15cd21f92d58
Parameters: {"action"=>"data", "controller"=>"index"}
www.google.com/calendar/feeds/fvijvohm91uifvd9hratehf65k@group.calendar.google.com/public/full/?max-results=200&futureevents=true&orderby=starttime&singleevents=true&sortorder=ascending&ctz=Asia/Tokyo
Completed in 7.07463 (0 reqs/sec) | Rendering: 0.00028 (0%) | DB: 0.00000 (0%) | 200 OK [http://localhost/index/data]

データを返す方のアクションはHTMLページ表示だけのアクションに比べて1,000倍近くとかの単位で遅いので(w)、方向性としては rails のキャッシュ機能を使ってgeocodeingした緯度経度データもろともキャッシュをWEBサーバーに保持させます。
どうせIT勉強会カレンダーの更新頻度はさほど高くないだろうから、TTLを長めに持たせればいいだろう。

JavaScriptでブラウザに表示する時間(ブラウザに「Working...」と表示されている時間)も縮める方法を考えなきゃいけないけど、exhibitの処理に完全に依存しちゃっているのでそっちは後回し。