* impromptu Rainbows!/Zbatery user survey @ 2010-06-16 0:56 Eric Wong [not found] ` <20100616005653.GA29720-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Eric Wong @ 2010-06-16 0:56 UTC (permalink / raw) To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw 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 _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20100616005653.GA29720-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>]
* Re: impromptu Rainbows!/Zbatery user survey [not found] ` <20100616005653.GA29720-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> @ 2010-06-16 16:37 ` James Tucker 2010-06-16 19:08 ` Eric Wong 1 sibling, 0 replies; 4+ messages in thread From: James Tucker @ 2010-06-16 16:37 UTC (permalink / raw) To: Rainbows! list On 15 Jun 2010, at 21:56, Eric Wong wrote: > under 1.9 to take advantage of IO.copy_stream and splice[1]. > > [1] http://bogomips.org/ruby_io_splice That's sweet :) _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: impromptu Rainbows!/Zbatery user survey [not found] ` <20100616005653.GA29720-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2010-06-16 16:37 ` James Tucker @ 2010-06-16 19:08 ` Eric Wong [not found] ` <20100616190835.GA20621-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 1 sibling, 1 reply; 4+ messages in thread From: Eric Wong @ 2010-06-16 19:08 UTC (permalink / raw) To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote: > Hi all, > > Since Rainbows! can be configured so many different ways, I'm > wondering about how (or even if :) people use it in production. One more question: * What proxies, if any, run in front? Either to distribute load between machines, handle failover for a dead machine, to serve static files, etc... > 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 :) _None_ of these are proxied behind nginx. They only need a load balancer to distribute load between multiple machines and to handle failover if a box goes down. They either use haproxy or a similar, but overpriced black-box[1]. They either do pass-through (Layer 4, TCP-only) or only buffer (and possibly rewrite) HTTP headers (Layer 7). I forget which apps used which, but Rainbows! works great in all of those configurations. [1] not my decision to use it, of course :) -- Eric Wong _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20100616190835.GA20621-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>]
* Re: impromptu Rainbows!/Zbatery user survey [not found] ` <20100616190835.GA20621-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> @ 2010-06-17 19:46 ` James Tucker 0 siblings, 0 replies; 4+ messages in thread From: James Tucker @ 2010-06-17 19:46 UTC (permalink / raw) To: Rainbows! list On 16 Jun 2010, at 16:08, Eric Wong wrote: > Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote: >> Hi all, >> >> Since Rainbows! can be configured so many different ways, I'm >> wondering about how (or even if :) people use it in production. > > One more question: > > * What proxies, if any, run in front? Either to distribute > load between machines, handle failover for a dead machine, to serve > static files, etc... I do know of a bunch of folks using async Thin in production for relatively high concurrency levels (1-4k open connections) serving through nginx. I personally can't verify the numbers, as the boxes are behind doors to which I don't have keys. I don't know if this info is useful to you. >> 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 :) > > _None_ of these are proxied behind nginx. They only need a load > balancer to distribute load between multiple machines and to handle > failover if a box goes down. > > They either use haproxy or a similar, but overpriced black-box[1]. They > either do pass-through (Layer 4, TCP-only) or only buffer (and possibly > rewrite) HTTP headers (Layer 7). I forget which apps used which, but > Rainbows! works great in all of those configurations. > > [1] not my decision to use it, of course :) > > -- > Eric Wong > _______________________________________________ > Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org > http://rubyforge.org/mailman/listinfo/rainbows-talk > Do not quote signatures (like this one) or top post when replying _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-06-17 19:52 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-06-16 0:56 impromptu Rainbows!/Zbatery user survey Eric Wong [not found] ` <20100616005653.GA29720-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2010-06-16 16:37 ` James Tucker 2010-06-16 19:08 ` Eric Wong [not found] ` <20100616190835.GA20621-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2010-06-17 19:46 ` James Tucker
Code repositories for project(s) associated with this public inbox https://yhbt.net/rainbows.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).