作者godfat (godfat 真常)
看板Ruby
标题Re: [问题] Rails handle multiple requests
时间Tue Aug 2 20:07:23 2011
: → ihower:用Passenger就有mutli processes 可以解决你的问题了 08/02 19
补充一下 multi-processes 的解法。简单地说就是重复跑好几个同样的 rails 起来,
以 thin 为例的话,比方说可能是跑 port 3000 ~ port 3009 这样就是 9 个
processes.
passenger 则是会帮你管理这些 process, 不需要自己维护。比方说在 thin 的情况,
可能 3005 这个 rails 挂了,可能要重开,自己管理很麻烦。passenger 也会自动
关掉几个 rails 如果流量不够大的话。
unicorn 的作法比较接近 passenger, 不过前方会建议再挂一个 reverse proxy,
如 nginx 或 rainbows! (rainbows! 前面可以再挂 nginx)
基本上这种作法虽然很简单,但也几乎等於拿资源去换效率了。假设你的一个 request
要 3 秒,那就算开 1000 个 rails 起来大概也吃不了多少流量... 两三下就塞满
request queue 了。
总而言之..... 作法百百种,挑一个对现况最有利的做就是了,没有绝对的作法。
而要挑之前,自然得先了解这些作法的差异 :)
--
#!/usr/bin/env ruby [露比] /Programming (Kn|N)ight/ 看板《Ruby》
# if a
dog nailed
extra legs that
http://webptt.com/cn.aspx?n=bbs/Ruby/index.html
#
walks like an octopus, and Welcome ~
Ruby@ptt~
#
talks like an octopus, then
◢█◣ http://www.ruby-lang.org/
# we are happy to treat it as
█ http://www.ruby-doc.org/
# if it were
an octopus.
◥ ◤ http://www.rubyforge.org/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.229.250