富豪 on Rails?

Rails アプリはだいたい起動した時点で1プロセス35~40MBぐらい消費する。Rails専用仮想サーバーに2GB/2CPUを割り当てて、2048 / 50 = 40 個ぐらい起動できるな、と分かったところで、ubuntu のメモリの消費量を観ると40MB。mysqld が 50MB。ということで、35個ぐらい立ち上げることにしてみた。複雑なSQLは飛んでないのでmysqlはとりあえずこの状態で、DBネックになるようならメモリを追加する。


ps alx でとってみた。

root@rails:~# ps alx |  awk '{printf ("%d\t%s\n", $8,$13)}' | sort -n -r | grep ruby
50916   /usr/bin/ruby1.8
50912   /usr/bin/ruby1.8
50912   /usr/bin/ruby1.8
50908   /usr/bin/ruby1.8
50864   /usr/bin/ruby1.8
48924   /usr/bin/ruby1.8
48924   /usr/bin/ruby1.8
48924   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48920   /usr/bin/ruby1.8
48916   /usr/bin/ruby1.8
48916   /usr/bin/ruby1.8
48916   /usr/bin/ruby1.8
48916   /usr/bin/ruby1.8
48916   /usr/bin/ruby1.8
48916   /usr/bin/ruby1.8
48912   /usr/bin/ruby1.8
48912   /usr/bin/ruby1.8
48912   /usr/bin/ruby1.8
48908   /usr/bin/ruby1.8
48908   /usr/bin/ruby1.8
48904   /usr/bin/ruby1.8
48904   /usr/bin/ruby1.8
48904   /usr/bin/ruby1.8
48904   /usr/bin/ruby1.8
48904   /usr/bin/ruby1.8
48904   /usr/bin/ruby1.8
48900   /usr/bin/ruby1.8
48900   /usr/bin/ruby1.8

L7 balancer(Apache)のプロセス数とバランスを検討して決めるもんだよなぁ、と思いつつ。mongrelのfastthreadって、結局どれぐらい1プロセス内で並列でさばいているんだろう。。。