Passengerのアーキテクチャを日本語訳してるサイト発見。
Passenger アーキテクチャ概要 (koshigoe 仮訳)
個人的にSpawnServerについてよく把握してなかったこともあったな。
- アプリケーションプール
アクティブなアプリケーションインスタンスのプール機構。これ自体は他のサーバでもよくある仕組み。
- FrameworkSpawnServer
Railsのバージョン毎にFrameworkSpawnServerが生成されるみたい。これで、1つのApacheでもバージョンの異なるRailsアプリケーションを管理できると。
あと使用するメモリ容量の削減の方法も3割減がアピールされてるけど、実現方法としてはCopy-On-Writeで親子間のメモリ利用の最適化を図ってたのね。(こちらは、標準のRubyの実装を使った場合は有効にならず、RubyEnterpriseEditionの実装を使う必要がある。)
※Copy on WriteについてはLinux のプロセスが Copy on Write で共有しているメモリのサイズを調べる - naoyaのはてなダイアリーのサイトが分りやすく説明されてる。