* [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS @ 2011-06-27 9:45 Eric Wong [not found] ` <20110627094517.GA27156-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Eric Wong @ 2011-06-27 9:45 UTC (permalink / raw) To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw Changes: Rainbows! now scales to more than 1024 worker processes without special privileges. To enable this, Rainbows! now depends on Unicorn 4.x and thus raindrops[1]. client_max_header_size directive is added to limit per-client memory usage in headers. An experimental StreamResponseEpoll concurrency option now exists to buffer outgoing responses without any thread-safe dependencies. Unlike the rest of Rainbows! which works fine without nginx, this concurrency option is /only/ supported behind nginx, even more strongly so than Unicorn itself. non-nginx LAN clients are NOT supported for this. This relies on the sleepy_penguin[2] RubyGem (and Linux). There are some minor bug fixes and cleanups all around. See "git log v3.4.0.." for details. [1] http://raindrops.bogomips.org/ [2] http://bogomips.org/sleepy_penguin/ * http://rainbows.rubyforge.org/ * rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org * git://bogomips.org/rainbows.git -- 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] 7+ messages in thread
[parent not found: <20110627094517.GA27156-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>]
* Re: [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS [not found] ` <20110627094517.GA27156-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> @ 2011-06-29 6:36 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w [not found] ` <BANLkTi=oQXK5Casq9SuGD3edeUrDPvRm3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: ghazel-Re5JQEeQqe8AvxtiuMwx3w @ 2011-06-29 6:36 UTC (permalink / raw) To: Rainbows! list On Mon, Jun 27, 2011 at 2:45 AM, Eric Wong <normalperson@yhbt.net> wrote: > Changes: > > Rainbows! now scales to more than 1024 worker processes without > special privileges. To enable this, Rainbows! now depends on > Unicorn 4.x and thus raindrops[1]. I can't seem to upgrade from rainbows-3.4.0 to rainbows-4.0.0. I see: #<NoMethodError: undefined method `expand_addr' for nil:NilClass> a bunch in the rainbows.stderr.log. -Greg _______________________________________________ Rainbows! mailing list - rainbows-talk@rubyforge.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] 7+ messages in thread
[parent not found: <BANLkTi=oQXK5Casq9SuGD3edeUrDPvRm3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS [not found] ` <BANLkTi=oQXK5Casq9SuGD3edeUrDPvRm3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-06-29 7:11 ` Eric Wong [not found] ` <20110629071101.GA8110-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Eric Wong @ 2011-06-29 7:11 UTC (permalink / raw) To: Rainbows! list ghazel@gmail.com wrote: > On Mon, Jun 27, 2011 at 2:45 AM, Eric Wong <normalperson@yhbt.net> wrote: > > Changes: > > > > Rainbows! now scales to more than 1024 worker processes without > > special privileges. To enable this, Rainbows! now depends on > > Unicorn 4.x and thus raindrops[1]. > > I can't seem to upgrade from rainbows-3.4.0 to rainbows-4.0.0. I see: > > #<NoMethodError: undefined method `expand_addr' for nil:NilClass> That's odd, what configuration options and Ruby version are you using? Are you using a per-worker listen socket? -- Eric Wong _______________________________________________ Rainbows! mailing list - rainbows-talk@rubyforge.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] 7+ messages in thread
[parent not found: <20110629071101.GA8110-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>]
* Re: [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS [not found] ` <20110629071101.GA8110-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> @ 2011-06-29 7:16 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w [not found] ` <BANLkTi=SRC7EvrA5tZcwJhwNKzgtyvz5mg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2011-06-29 7:19 ` Eric Wong 1 sibling, 1 reply; 7+ messages in thread From: ghazel-Re5JQEeQqe8AvxtiuMwx3w @ 2011-06-29 7:16 UTC (permalink / raw) To: Rainbows! list On Wed, Jun 29, 2011 at 12:11 AM, Eric Wong <normalperson@yhbt.net> wrote: > ghazel@gmail.com wrote: >> On Mon, Jun 27, 2011 at 2:45 AM, Eric Wong <normalperson@yhbt.net> wrote: >> > Changes: >> > >> > Rainbows! now scales to more than 1024 worker processes without >> > special privileges. To enable this, Rainbows! now depends on >> > Unicorn 4.x and thus raindrops[1]. >> >> I can't seem to upgrade from rainbows-3.4.0 to rainbows-4.0.0. I see: >> >> #<NoMethodError: undefined method `expand_addr' for nil:NilClass> > > That's odd, what configuration options and Ruby version are you > using? Are you using a per-worker listen socket? REE 1.8.7 Hopefully relevant config: use :ThreadSpawn ... listen "/tmp/rainbows.sock", :backlog => 2048 listen 8998, :tcp_nopush => true ... after_fork do |server, worker| # per-process listener ports for debugging/admin/migrations addr = "127.0.0.1:#{9100 + worker.nr}" server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true) -Greg _______________________________________________ Rainbows! mailing list - rainbows-talk@rubyforge.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] 7+ messages in thread
[parent not found: <BANLkTi=SRC7EvrA5tZcwJhwNKzgtyvz5mg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS [not found] ` <BANLkTi=SRC7EvrA5tZcwJhwNKzgtyvz5mg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-06-29 7:31 ` Eric Wong [not found] ` <20110629073103.GB10100-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Eric Wong @ 2011-06-29 7:31 UTC (permalink / raw) To: Rainbows! list ghazel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: > after_fork do |server, worker| > # per-process listener ports for debugging/admin/migrations > addr = "127.0.0.1:#{9100 + worker.nr}" > server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true) Yup, as I suspected. The patch I posted (and the unicorn prerelease Rubygem) should fix it. -- 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] 7+ messages in thread
[parent not found: <20110629073103.GB10100-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>]
* Re: [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS [not found] ` <20110629073103.GB10100-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> @ 2011-06-29 7:47 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w 0 siblings, 0 replies; 7+ messages in thread From: ghazel-Re5JQEeQqe8AvxtiuMwx3w @ 2011-06-29 7:47 UTC (permalink / raw) To: Rainbows! list On Wed, Jun 29, 2011 at 12:31 AM, Eric Wong <normalperson@yhbt.net> wrote: > ghazel@gmail.com wrote: >> after_fork do |server, worker| >> # per-process listener ports for debugging/admin/migrations >> addr = "127.0.0.1:#{9100 + worker.nr}" >> server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true) > > Yup, as I suspected. The patch I posted (and the unicorn prerelease > Rubygem) should fix it. Yup. Unicorn and Rainbows! upgraded fine now. Thanks! -Greg _______________________________________________ Rainbows! mailing list - rainbows-talk@rubyforge.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] 7+ messages in thread
* Re: [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS [not found] ` <20110629071101.GA8110-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2011-06-29 7:16 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w @ 2011-06-29 7:19 ` Eric Wong 1 sibling, 0 replies; 7+ messages in thread From: Eric Wong @ 2011-06-29 7:19 UTC (permalink / raw) To: Rainbows! list Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote: > ghazel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: > > I can't seem to upgrade from rainbows-3.4.0 to rainbows-4.0.0. I see: > > > > #<NoMethodError: undefined method `expand_addr' for nil:NilClass> > > That's odd, what configuration options and Ruby version are you > using? Are you using a per-worker listen socket? This should fix it, the test case for this was broken, too :< diff --git a/lib/unicorn/http_server.rb b/lib/unicorn/http_server.rb index 02ba965..78d80b4 100644 --- a/lib/unicorn/http_server.rb +++ b/lib/unicorn/http_server.rb @@ -453,7 +453,7 @@ class Unicorn::HttpServer def after_fork_internal @ready_pipe.close if @ready_pipe Unicorn::Configurator::RACKUP.clear - @ready_pipe = @init_listeners = @config = @before_exec = @before_fork = nil + @ready_pipe = @init_listeners = @before_exec = @before_fork = nil srand # http://redmine.ruby-lang.org/issues/4338 @@ -545,6 +545,7 @@ class Unicorn::HttpServer after_fork.call(self, worker) # can drop perms worker.user(*user) if user.kind_of?(Array) && ! worker.switched self.timeout /= 2.0 # halve it for select() + @config = nil build_app! unless preload_app end diff --git a/test/exec/test_exec.rb b/test/exec/test_exec.rb index 0f6b083..8c33457 100644 --- a/test/exec/test_exec.rb +++ b/test/exec/test_exec.rb @@ -516,7 +516,7 @@ EOF File.unlink(tmp.path) ucfg = Tempfile.new('unicorn_test_config') ucfg.syswrite("listen '#@addr:#@port'\n") - ucfg.syswrite("before_fork { |s,w|\n") + ucfg.syswrite("after_fork { |s,w|\n") ucfg.syswrite(" s.listen('#{tmp.path}', :backlog => 5, :sndbuf => 8192)\n") ucfg.syswrite(" s.listen('#@addr:#{port2}', :rcvbuf => 8192)\n") ucfg.syswrite("\n}\n") -- 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 related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-06-29 8:22 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-06-27 9:45 [ANN] Rainbows! 4.0.0 - MOAR concurrency for MOAR COARS Eric Wong [not found] ` <20110627094517.GA27156-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2011-06-29 6:36 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w [not found] ` <BANLkTi=oQXK5Casq9SuGD3edeUrDPvRm3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2011-06-29 7:11 ` Eric Wong [not found] ` <20110629071101.GA8110-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2011-06-29 7:16 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w [not found] ` <BANLkTi=SRC7EvrA5tZcwJhwNKzgtyvz5mg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2011-06-29 7:31 ` Eric Wong [not found] ` <20110629073103.GB10100-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org> 2011-06-29 7:47 ` ghazel-Re5JQEeQqe8AvxtiuMwx3w 2011-06-29 7:19 ` Eric Wong
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).