8 Mar 2010

Ruby実効環境の簡単なまとめ

自分用のメモです。

apache + mod_proxy_balancer + mongrel cluster


mongrelは初期状態では単一プロセスに単一のRubyインスタンスを持ってーつのポートを占有する。
mongrel clusterを使うことによって複数のプロセスを立ち上げることができる。プロセス数の分ポートを占有する。

mod_proxy_balancerはapacheに対するアクセスをバランシングしてくれる。この場合、1つのポートに対するアクセスを複数のmongrel clusterのポートにバランシングしてくれる。

nginx + unicorn


nginx[エンジンエックス]は軽量な軽量高性能なWebサーバ/リバースプロキシ。リバースプロキシとしてapacheを立てるまでもない場合に使用すると便利。

unicornはprefork型のweb server。Unicorn masterが起動するとまずプログラミングコードロードする。その後workerをforkする。workerがいくつあってもコードのロードは1回きりなので起動が早い。nginxからはunix socket通信で対話するいわばカーネルによるロードバランシング。

参照

apache + passenger


Apacheのprefork MPMとphusion passengerの組み合わせ。passengerはapacheの動的モジュールとして提供されており、スポーンサーバにアプリケーションのコピーを要求する。forkされたworker x複数 とspawner x複数がやりとりをする形。

参照

間違いがあったら教えてください。

.