impromptu Rainbows!/Zbatery user survey

Eric Wong normalperson at yhbt.net
Tue Jun 15 20:56:53 EDT 2010


Hi all,

Since Rainbows! can be configured so many different ways, I'm
wondering about how (or even if :) people use it in production.

* Which concurrency model(s) do you use?

* Which version(s) of Ruby do you use?

* How much peak traffic do you get?
  (Off-hours traffic is entirely uninteresting)

I'll understand if you're not allowed to share all (or any) of that
information.  If you can only share it privately, you can email me
directly, too, I won't tell anyone.

Behind the scenes, I've privately helped some folks deploy a few
production apps using ThreadSpawn (REE 2010.01), FiberSpawn
(1.9.1-p378), and EventMachine (REE 2010.01).  I can't say more than
that due to confidentiality issues, but I suspect WEBrick would've been
more than adequate for those applications :)

Even with the massive concurrency available from a single process, I
generally use 2-4 worker processes per core since it both spreads GC
pause time around and shortens GC time (there's less garbage in a
smaller process).

I'm writing a Rack application for my home network which will be
disk-intensive, so I'll probably deploy using ThreadSpawn with Zbatery
under 1.9 to take advantage of IO.copy_stream and splice[1].

[1] http://bogomips.org/ruby_io_splice

-- 
Eric Wong


More information about the rainbows-talk mailing list