Railsに限った話ではないが、Webアプリケーションのパフォーマンスにおいてキャッシュを用いることは多々ある。最近ではmemcachedを利用することが多いが、キャッシュしずらいデータもある。それはログイン後のデータなどユーザごとに異なる情報を表示するケースだ。 ESIタグの内容を実行して表示する via 「Railsの画面生成を10倍高速化する方法」をESIで実装する [ Gatherup ] ユーザごとに情報が異なる場合、キャッシュを活用するのは難しい。それを解決してくれるのがESIと呼ばれる仕組みだ。 今回紹介するオープンソース・ソフトウェアはMongrel-ESI、Mongrelを使ったESI実装だ。 Mongrel-ESIは通常のキャッシングと異なり、動的なページに対しても有効なキャッシングを提供する。SSIのようにページに特定のタグを埋め込む形でWebサーバの出力を最後に変換