Eric Wong
2009-Oct-19 18:58 UTC
[Revactor-talk] [ANN] Rainbows! HTTP server powered by Revactor (or Rev)
Hi all, Just wanted to make sure that fans of Revactor and/or Rev know there''s a new HTTP server that can use either Revactor or Rev (without Revactor) as it''s network concurrency backend[1]. It''s based on Unicorn so it supports the Rack specification and uses Unix-only preforking[2] + signal management. Linux 2.6+ is recommended for epoll support, but it should work for kqueue users since it''s all based on libev. Feedback from users of all systems supported by Rev would be greatly appreciated. On a related note: Revactor has been really nice to work with, hopefully this can help increase 1.9 adoption :) [1] - it also supports two threading models that can be loaded independently of Rev/Revactor and will eventually support EventMachine, too. [2] - local concurrency != remote concurrency, (this really is the whole point of Unicorn + Rainbows!). Preforking is to handle the former, Rev/Revactor is for the latter. Links: * http://rainbows.rubyforge.org/ * rainbows-talk at rubyforge.org * git://git.bogomips.org/rainbows.git This will be my first/last announcement to {rev,revactor}-talk lists, but of course I''ll post any improvements I have for rev/revactor on here in the future :> -- Eric Wong
IƱaki Baz Castillo
2009-Oct-19 20:52 UTC
[Revactor-talk] [ANN] Rainbows! HTTP server powered by Revactor (or Rev)
El Lunes, 19 de Octubre de 2009, Eric Wong escribi?:> Hi all, > > Just wanted to make sure that fans of Revactor and/or Rev know there''s a > new HTTP server that can use either Revactor or Rev (without Revactor) > as it''s network concurrency backend[1]. > > It''s based on Unicorn so it supports the Rack specification and uses > Unix-only preforking[2] + signal management. Linux 2.6+ is recommended > for epoll support, but it should work for kqueue users since it''s all > based on libev. Feedback from users of all systems supported by Rev > would be greatly appreciated. > > > On a related note: Revactor has been really nice to work with, hopefully > this can help increase 1.9 adoption :) > > > [1] - it also supports two threading models that can be loaded > independently of Rev/Revactor and will eventually support > EventMachine, too. > > [2] - local concurrency != remote concurrency, (this really is > the whole point of Unicorn + Rainbows!). Preforking is > to handle the former, Rev/Revactor is for the latter.Great. Is there any performance comparission with other Rack web servers as Thin or Ebb? I''m building right now a Rack application and choosing the web server :) -- I?aki Baz Castillo <ibc at aliax.net>
Eric Wong
2009-Oct-19 21:21 UTC
[Revactor-talk] [ANN] Rainbows! HTTP server powered by Revactor (or Rev)
I?aki Baz Castillo <ibc at aliax.net> wrote:> El Lunes, 19 de Octubre de 2009, Eric Wong escribi?: > > Hi all, > > [2] - local concurrency != remote concurrency, (this really is > > the whole point of Unicorn + Rainbows!). Preforking is > > to handle the former, Rev/Revactor is for the latter. > > Great. Is there any performance comparission with other Rack web servers as > Thin or Ebb?No, not yet, I also added this blurb in http://rainbows.rubyforge.org/TUNING.html earlier today: As of October 2009, absolutely ZERO work has been done for performance validation and tuning. Furthermore, \Rainbows! is NOT expected to do well on traditional benchmarks. Remember that \Rainbows! is only designed for applications that sleep and/or trickle network traffic. In the future, *may* do well in traditional benchmarks as a side effect, but that will never be the primary goal of the project. I also don''t believe it''s good form for me to publish comparisons against other web servers, so I have no plans to do that myself.> I''m building right now a Rack application and choosing the web server :)If it''s a more traditional application with few/no external dependencies, Unicorn seems to be pretty solid by now and some people have started using it. Unicorn just requires nginx in front if you''re serving non-local traffic. I''ve intentionally kept the Unicorn <=> Rainbows! migration paths simple and bidirectional so it''s easy to switch between them depending on your needs. -- Eric Wong