unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: Request Queueing after deploy + USR2 restart
       [not found]     ` <CAJri6_vidE15Xor4THzQB3uxyqPdApxHoyWp47NAG8m8TQuw0Q@mail.gmail.com>
@ 2015-09-13 15:12  7%   ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2015-09-13 15:12 UTC (permalink / raw)
  To: Sarkis Varozian, unicorn-public

Sakis, ressurecting this.

I'm seeing this after the upgrade from rails 3.2 to rails 4.2. Maybe it is
because of adequate record and other "cached on first time used" stuff.

cheers,
bráulio


> On Tue, Mar 3, 2015 at 7:26 PM Sarkis Varozian <svarozian@gmail.com> wrote:
>>
>> We have a rails application with the following unicorn.rb:
>> http://goo.gl/qZ5NLn
>>
>> When we deploy to the application, a USR2 signal is sent to the unicorn
>> master which spins up a new master and we use the before_fork in the
>> unicorn.rb config above to send signals to the old master as the new
>> workers come online.
>>
>> I've been trying to debug a weird issue that manifests as "Request
>> Queueing" in our Newrelic APM. The graph shows what happens after a
>> deployment (represented by the vertical lines). Here is the graph:
>> http://goo.gl/iFZPMv . As you see from the graph, it is inconsistent -
>> there is always a latency spike - however, at times Request Queueing is
>> higher than previous deploys.
>>
>> Any ideas on what exactly is going on here? Any suggestions on
>> tools/profilers to use to get to the bottom of this? Should we expect this
>> to happen on each deploy?
>>
>> Thanks,
>>
>> --
>> *Sarkis Varozian*
>> svarozian@gmail.com
>>
>>
>



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 7%]

* Does the the environment is preserved on USR2?
@ 2015-06-26 22:18  6% Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2015-06-26 22:18 UTC (permalink / raw)
  To: unicorn-public

Hello,

I use the ruby environment variable RUBY_GC_MALLOC_LIMIT='90000000' to
start unicorn inside a init.d service and I get the impression that
when I run kill -USR2 `cat tmp/pids/unicorn.pid` in another shell this
variable is no longer used.

So the new master started by USR2 preserve the environment from the
old master or the environment variables need be set on the shell it is
invoked?

cheers,
bráulio

-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Request Queueing after deploy + USR2 restart
  2015-03-05 17:28  0%                     ` Sarkis Varozian
  2015-03-05 17:31  7%                       ` Bráulio Bhavamitra
@ 2015-03-05 17:32  7%                       ` Bráulio Bhavamitra
  1 sibling, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2015-03-05 17:32 UTC (permalink / raw)
  To: Sarkis Varozian; +Cc: Eric Wong, Michael Fischer, unicorn-public

I also use newrelic and never saw this grey part...

On Thu, Mar 5, 2015 at 2:28 PM, Sarkis Varozian <svarozian@gmail.com> wrote:

> Braulio,
>
> Are you referring to the vertical grey line? That is the deployment event.
> The part that spikes in the first graph is request queue which is a bit
> different on newrelic:
> http://blog.newrelic.com/2013/01/22/understanding-new-relic-queuing/
>
> We are using HAProxy to load balance (round robin) to 4 physical hosts
> running unicorn with 6 workers.
>
> I have not tried to reproduce this on 1 master - I assume this would be
> the same.
>
> I do in fact do the sleep now:
> https://gist.github.com/sarkis/1aa296044b1dfd3695ab#file-unicorn-rb-L37 -
> the deployment results above had the 1 second sleep in there.
>
> On Thu, Mar 5, 2015 at 9:13 AM, Bráulio Bhavamitra <braulio@eita.org.br>
> wrote:
>
>> In the graphs you posted, what is the grey part? It is not described in
>> the legend and it seems the problem is entirely there. What reverse proxy
>> are you using?
>>
>> Can you reproduce this with a single master instance?
>>
>> Could you try this sleep:
>> https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L91
>>
>>
>> On Thu, Mar 5, 2015 at 2:07 PM, Sarkis Varozian <svarozian@gmail.com>
>> wrote:
>>
>>> Hey All,
>>>
>>> So I changed up my unicorn.rb a bit from my original post:
>>> https://gist.github.com/sarkis/1aa296044b1dfd3695ab
>>>
>>> I'm also still sending the USR2 signals on deploy staggered with 30
>>> second delay via capistrano:
>>>
>>> on roles(:web), in: :sequence, wait: 30
>>>
>>> As you can see I am now doing a warup via rack MockRequest (I hoped this
>>> would warmup the master). However, this is what a deploy looks like on
>>> newrelic:
>>>
>>>
>>> https://www.dropbox.com/s/beh7nc8npdfijqp/Screenshot%202015-03-05%2009.05.15.png?dl=0
>>>
>>>
>>> https://www.dropbox.com/s/w08gpvp7mpik3vs/Screenshot%202015-03-05%2009.06.51.png?dl=0
>>>
>>> I'm running out of ideas to get rid of thse latency spikes. Would you
>>> guys recommend I try anything else at this point?
>>>
>>>
>>>
>>> On Wed, Mar 4, 2015 at 12:40 PM, Sarkis Varozian <svarozian@gmail.com>
>>> wrote:
>>>
>>>> Eric,
>>>>
>>>> Thanks for the quick reply.
>>>>
>>>> We are on Ruby 2.1.5p273 and unicorn 4.8.3. I believe our problem is
>>>> the lazy loading - at least thats what all signs point to. I am going to
>>>> try and mock request some url endpoints. Currently, I can only think of
>>>> '/', as most other parts of the app require a session and auth. I'll report
>>>> back with results.
>>>>
>>>>
>>>>
>>>> On Wed, Mar 4, 2015 at 12:35 PM, Eric Wong <e@80x24.org> wrote:
>>>>
>>>>> Sarkis Varozian <svarozian@gmail.com> wrote:
>>>>> > On Wed, Mar 4, 2015 at 12:17 PM, Michael Fischer <
>>>>> mfischer@zendesk.com>
>>>>> > wrote:
>>>>> >
>>>>> > > I'm not exactly sure how preload_app works, but I suspect your app
>>>>> is
>>>>> > > lazy-loading a number of Ruby libraries while handling the first
>>>>> few
>>>>> > > requests that weren't automatically loaded during the preload
>>>>> process.
>>>>> > >
>>>>> > > Eric, your thoughts?
>>>>>
>>>>> (top-posting corrected)
>>>>>
>>>>> Yeah, preload_app won't help startup speed if much of the app is
>>>>> autoloaded.
>>>>>
>>>>> Sarkis: which Ruby version are you running?  IIRC, 1.9.2 had terrible
>>>>> startup performance compared to 1.9.3 and later in case you're stuck on
>>>>> 1.9.2
>>>>>
>>>>> > That does make sense - I was looking at another suggestion from a
>>>>> user here
>>>>> > (Braulio) of running a "warmup" using rack MockRequest:
>>>>> > https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L77
>>>>> >
>>>>> > The only issue I am having with the above solution is it is
>>>>> happening in
>>>>> > the before_fork block - shouldn't I warmup the connection in
>>>>> after_fork?
>>>>>
>>>>> If preload_app is true, you can warmup in before_fork; otherwise it
>>>>> needs to be after_fork.
>>>>>
>>>>> > If
>>>>> > I follow the above gist properly it warms up the server with the old
>>>>> > activerecord base connection and then its turned off, then turned
>>>>> back on
>>>>> > in after_fork. I think I am not understanding the sequence of events
>>>>> > there...
>>>>>
>>>>> With preload_app and warmup, you need to ensure any stream connections
>>>>> (DB, memcached, redis, etc..) do not get shared between processes, so
>>>>> it's standard practice to disconnect in the parent and reconnect in the
>>>>> child.
>>>>>
>>>>> > If this is the case, I should warmup and also check/kill the old
>>>>> > master in the after_fork block after the new db, redis, neo4j
>>>>> connections
>>>>> > are all created. Thoughts?
>>>>>
>>>>> I've been leaving killing the master outside of the unicorn hooks
>>>>> and doing it as a separate step; seemed too fragile to do it in
>>>>> hooks from my perspective.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Sarkis Varozian*
>>>> svarozian@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> *Sarkis Varozian*
>>> svarozian@gmail.com
>>>
>>
>>
>>
>> --
>> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
>> ideologia. Morra por sua ideologia" P.R. Sarkar
>>
>> EITA - Educação, Informação e Tecnologias para Autogestão
>> http://cirandas.net/brauliobo
>> http://eita.org.br
>>
>> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
>> lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
>> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
>> destruídas nas fases de extroversão e introversão do fluxo imaginativo
>> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
>> naquele momento, essa pessoa é a única proprietária daquilo que ela
>> imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
>> por um milharal também imaginado, a pessoa imaginada não é a propriedade
>> desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
>> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
>> a propriedade deste universo é de Brahma, e não dos microcosmos que também
>> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
>> mutável ou imutável, pertence a um indivíduo em particular; tudo é o
>> patrimônio comum de todos."
>> Restante do texto em
>> http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
>>
>
>
>
> --
> *Sarkis Varozian*
> svarozian@gmail.com
>



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
a propriedade deste universo é de Brahma, e não dos microcosmos que também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 7%]

* Re: Request Queueing after deploy + USR2 restart
  2015-03-05 17:28  0%                     ` Sarkis Varozian
@ 2015-03-05 17:31  7%                       ` Bráulio Bhavamitra
  2015-03-05 17:32  7%                       ` Bráulio Bhavamitra
  1 sibling, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2015-03-05 17:31 UTC (permalink / raw)
  To: Sarkis Varozian; +Cc: Eric Wong, Michael Fischer, unicorn-public

I would try to reproduce this locally with a production env and `ab -n 200
-c 2 http://localhost:3000/`



On Thu, Mar 5, 2015 at 2:28 PM, Sarkis Varozian <svarozian@gmail.com> wrote:

> Braulio,
>
> Are you referring to the vertical grey line? That is the deployment event.
> The part that spikes in the first graph is request queue which is a bit
> different on newrelic:
> http://blog.newrelic.com/2013/01/22/understanding-new-relic-queuing/
>
> We are using HAProxy to load balance (round robin) to 4 physical hosts
> running unicorn with 6 workers.
>
> I have not tried to reproduce this on 1 master - I assume this would be
> the same.
>
> I do in fact do the sleep now:
> https://gist.github.com/sarkis/1aa296044b1dfd3695ab#file-unicorn-rb-L37 -
> the deployment results above had the 1 second sleep in there.
>
> On Thu, Mar 5, 2015 at 9:13 AM, Bráulio Bhavamitra <braulio@eita.org.br>
> wrote:
>
>> In the graphs you posted, what is the grey part? It is not described in
>> the legend and it seems the problem is entirely there. What reverse proxy
>> are you using?
>>
>> Can you reproduce this with a single master instance?
>>
>> Could you try this sleep:
>> https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L91
>>
>>
>> On Thu, Mar 5, 2015 at 2:07 PM, Sarkis Varozian <svarozian@gmail.com>
>> wrote:
>>
>>> Hey All,
>>>
>>> So I changed up my unicorn.rb a bit from my original post:
>>> https://gist.github.com/sarkis/1aa296044b1dfd3695ab
>>>
>>> I'm also still sending the USR2 signals on deploy staggered with 30
>>> second delay via capistrano:
>>>
>>> on roles(:web), in: :sequence, wait: 30
>>>
>>> As you can see I am now doing a warup via rack MockRequest (I hoped this
>>> would warmup the master). However, this is what a deploy looks like on
>>> newrelic:
>>>
>>>
>>> https://www.dropbox.com/s/beh7nc8npdfijqp/Screenshot%202015-03-05%2009.05.15.png?dl=0
>>>
>>>
>>> https://www.dropbox.com/s/w08gpvp7mpik3vs/Screenshot%202015-03-05%2009.06.51.png?dl=0
>>>
>>> I'm running out of ideas to get rid of thse latency spikes. Would you
>>> guys recommend I try anything else at this point?
>>>
>>>
>>>
>>> On Wed, Mar 4, 2015 at 12:40 PM, Sarkis Varozian <svarozian@gmail.com>
>>> wrote:
>>>
>>>> Eric,
>>>>
>>>> Thanks for the quick reply.
>>>>
>>>> We are on Ruby 2.1.5p273 and unicorn 4.8.3. I believe our problem is
>>>> the lazy loading - at least thats what all signs point to. I am going to
>>>> try and mock request some url endpoints. Currently, I can only think of
>>>> '/', as most other parts of the app require a session and auth. I'll report
>>>> back with results.
>>>>
>>>>
>>>>
>>>> On Wed, Mar 4, 2015 at 12:35 PM, Eric Wong <e@80x24.org> wrote:
>>>>
>>>>> Sarkis Varozian <svarozian@gmail.com> wrote:
>>>>> > On Wed, Mar 4, 2015 at 12:17 PM, Michael Fischer <
>>>>> mfischer@zendesk.com>
>>>>> > wrote:
>>>>> >
>>>>> > > I'm not exactly sure how preload_app works, but I suspect your app
>>>>> is
>>>>> > > lazy-loading a number of Ruby libraries while handling the first
>>>>> few
>>>>> > > requests that weren't automatically loaded during the preload
>>>>> process.
>>>>> > >
>>>>> > > Eric, your thoughts?
>>>>>
>>>>> (top-posting corrected)
>>>>>
>>>>> Yeah, preload_app won't help startup speed if much of the app is
>>>>> autoloaded.
>>>>>
>>>>> Sarkis: which Ruby version are you running?  IIRC, 1.9.2 had terrible
>>>>> startup performance compared to 1.9.3 and later in case you're stuck on
>>>>> 1.9.2
>>>>>
>>>>> > That does make sense - I was looking at another suggestion from a
>>>>> user here
>>>>> > (Braulio) of running a "warmup" using rack MockRequest:
>>>>> > https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L77
>>>>> >
>>>>> > The only issue I am having with the above solution is it is
>>>>> happening in
>>>>> > the before_fork block - shouldn't I warmup the connection in
>>>>> after_fork?
>>>>>
>>>>> If preload_app is true, you can warmup in before_fork; otherwise it
>>>>> needs to be after_fork.
>>>>>
>>>>> > If
>>>>> > I follow the above gist properly it warms up the server with the old
>>>>> > activerecord base connection and then its turned off, then turned
>>>>> back on
>>>>> > in after_fork. I think I am not understanding the sequence of events
>>>>> > there...
>>>>>
>>>>> With preload_app and warmup, you need to ensure any stream connections
>>>>> (DB, memcached, redis, etc..) do not get shared between processes, so
>>>>> it's standard practice to disconnect in the parent and reconnect in the
>>>>> child.
>>>>>
>>>>> > If this is the case, I should warmup and also check/kill the old
>>>>> > master in the after_fork block after the new db, redis, neo4j
>>>>> connections
>>>>> > are all created. Thoughts?
>>>>>
>>>>> I've been leaving killing the master outside of the unicorn hooks
>>>>> and doing it as a separate step; seemed too fragile to do it in
>>>>> hooks from my perspective.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Sarkis Varozian*
>>>> svarozian@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> *Sarkis Varozian*
>>> svarozian@gmail.com
>>>
>>
>>
>>
>> --
>> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
>> ideologia. Morra por sua ideologia" P.R. Sarkar
>>
>> EITA - Educação, Informação e Tecnologias para Autogestão
>> http://cirandas.net/brauliobo
>> http://eita.org.br
>>
>> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
>> lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
>> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
>> destruídas nas fases de extroversão e introversão do fluxo imaginativo
>> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
>> naquele momento, essa pessoa é a única proprietária daquilo que ela
>> imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
>> por um milharal também imaginado, a pessoa imaginada não é a propriedade
>> desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
>> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
>> a propriedade deste universo é de Brahma, e não dos microcosmos que também
>> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
>> mutável ou imutável, pertence a um indivíduo em particular; tudo é o
>> patrimônio comum de todos."
>> Restante do texto em
>> http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
>>
>
>
>
> --
> *Sarkis Varozian*
> svarozian@gmail.com
>



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
a propriedade deste universo é de Brahma, e não dos microcosmos que também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 7%]

* Re: Request Queueing after deploy + USR2 restart
  2015-03-05 17:13  6%                   ` Bráulio Bhavamitra
@ 2015-03-05 17:28  0%                     ` Sarkis Varozian
  2015-03-05 17:31  7%                       ` Bráulio Bhavamitra
  2015-03-05 17:32  7%                       ` Bráulio Bhavamitra
  0 siblings, 2 replies; 25+ results
From: Sarkis Varozian @ 2015-03-05 17:28 UTC (permalink / raw)
  To: Bráulio Bhavamitra; +Cc: Eric Wong, Michael Fischer, unicorn-public

Braulio,

Are you referring to the vertical grey line? That is the deployment event.
The part that spikes in the first graph is request queue which is a bit
different on newrelic:
http://blog.newrelic.com/2013/01/22/understanding-new-relic-queuing/

We are using HAProxy to load balance (round robin) to 4 physical hosts
running unicorn with 6 workers.

I have not tried to reproduce this on 1 master - I assume this would be the
same.

I do in fact do the sleep now:
https://gist.github.com/sarkis/1aa296044b1dfd3695ab#file-unicorn-rb-L37 -
the deployment results above had the 1 second sleep in there.

On Thu, Mar 5, 2015 at 9:13 AM, Bráulio Bhavamitra <braulio@eita.org.br>
wrote:

> In the graphs you posted, what is the grey part? It is not described in
> the legend and it seems the problem is entirely there. What reverse proxy
> are you using?
>
> Can you reproduce this with a single master instance?
>
> Could you try this sleep:
> https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L91
>
>
> On Thu, Mar 5, 2015 at 2:07 PM, Sarkis Varozian <svarozian@gmail.com>
> wrote:
>
>> Hey All,
>>
>> So I changed up my unicorn.rb a bit from my original post:
>> https://gist.github.com/sarkis/1aa296044b1dfd3695ab
>>
>> I'm also still sending the USR2 signals on deploy staggered with 30
>> second delay via capistrano:
>>
>> on roles(:web), in: :sequence, wait: 30
>>
>> As you can see I am now doing a warup via rack MockRequest (I hoped this
>> would warmup the master). However, this is what a deploy looks like on
>> newrelic:
>>
>>
>> https://www.dropbox.com/s/beh7nc8npdfijqp/Screenshot%202015-03-05%2009.05.15.png?dl=0
>>
>>
>> https://www.dropbox.com/s/w08gpvp7mpik3vs/Screenshot%202015-03-05%2009.06.51.png?dl=0
>>
>> I'm running out of ideas to get rid of thse latency spikes. Would you
>> guys recommend I try anything else at this point?
>>
>>
>>
>> On Wed, Mar 4, 2015 at 12:40 PM, Sarkis Varozian <svarozian@gmail.com>
>> wrote:
>>
>>> Eric,
>>>
>>> Thanks for the quick reply.
>>>
>>> We are on Ruby 2.1.5p273 and unicorn 4.8.3. I believe our problem is the
>>> lazy loading - at least thats what all signs point to. I am going to try
>>> and mock request some url endpoints. Currently, I can only think of '/', as
>>> most other parts of the app require a session and auth. I'll report back
>>> with results.
>>>
>>>
>>>
>>> On Wed, Mar 4, 2015 at 12:35 PM, Eric Wong <e@80x24.org> wrote:
>>>
>>>> Sarkis Varozian <svarozian@gmail.com> wrote:
>>>> > On Wed, Mar 4, 2015 at 12:17 PM, Michael Fischer <
>>>> mfischer@zendesk.com>
>>>> > wrote:
>>>> >
>>>> > > I'm not exactly sure how preload_app works, but I suspect your app
>>>> is
>>>> > > lazy-loading a number of Ruby libraries while handling the first few
>>>> > > requests that weren't automatically loaded during the preload
>>>> process.
>>>> > >
>>>> > > Eric, your thoughts?
>>>>
>>>> (top-posting corrected)
>>>>
>>>> Yeah, preload_app won't help startup speed if much of the app is
>>>> autoloaded.
>>>>
>>>> Sarkis: which Ruby version are you running?  IIRC, 1.9.2 had terrible
>>>> startup performance compared to 1.9.3 and later in case you're stuck on
>>>> 1.9.2
>>>>
>>>> > That does make sense - I was looking at another suggestion from a
>>>> user here
>>>> > (Braulio) of running a "warmup" using rack MockRequest:
>>>> > https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L77
>>>> >
>>>> > The only issue I am having with the above solution is it is happening
>>>> in
>>>> > the before_fork block - shouldn't I warmup the connection in
>>>> after_fork?
>>>>
>>>> If preload_app is true, you can warmup in before_fork; otherwise it
>>>> needs to be after_fork.
>>>>
>>>> > If
>>>> > I follow the above gist properly it warms up the server with the old
>>>> > activerecord base connection and then its turned off, then turned
>>>> back on
>>>> > in after_fork. I think I am not understanding the sequence of events
>>>> > there...
>>>>
>>>> With preload_app and warmup, you need to ensure any stream connections
>>>> (DB, memcached, redis, etc..) do not get shared between processes, so
>>>> it's standard practice to disconnect in the parent and reconnect in the
>>>> child.
>>>>
>>>> > If this is the case, I should warmup and also check/kill the old
>>>> > master in the after_fork block after the new db, redis, neo4j
>>>> connections
>>>> > are all created. Thoughts?
>>>>
>>>> I've been leaving killing the master outside of the unicorn hooks
>>>> and doing it as a separate step; seemed too fragile to do it in
>>>> hooks from my perspective.
>>>>
>>>
>>>
>>>
>>> --
>>> *Sarkis Varozian*
>>> svarozian@gmail.com
>>>
>>
>>
>>
>> --
>> *Sarkis Varozian*
>> svarozian@gmail.com
>>
>
>
>
> --
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
> ideologia. Morra por sua ideologia" P.R. Sarkar
>
> EITA - Educação, Informação e Tecnologias para Autogestão
> http://cirandas.net/brauliobo
> http://eita.org.br
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
> lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
> destruídas nas fases de extroversão e introversão do fluxo imaginativo
> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
> naquele momento, essa pessoa é a única proprietária daquilo que ela
> imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
> por um milharal também imaginado, a pessoa imaginada não é a propriedade
> desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
> a propriedade deste universo é de Brahma, e não dos microcosmos que também
> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
> mutável ou imutável, pertence a um indivíduo em particular; tudo é o
> patrimônio comum de todos."
> Restante do texto em
> http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
>



-- 
*Sarkis Varozian*
svarozian@gmail.com


^ permalink raw reply	[relevance 0%]

* Re: Request Queueing after deploy + USR2 restart
  @ 2015-03-05 17:13  6%                   ` Bráulio Bhavamitra
  2015-03-05 17:28  0%                     ` Sarkis Varozian
  0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2015-03-05 17:13 UTC (permalink / raw)
  To: Sarkis Varozian; +Cc: Eric Wong, Michael Fischer, unicorn-public

In the graphs you posted, what is the grey part? It is not described in the
legend and it seems the problem is entirely there. What reverse proxy are
you using?

Can you reproduce this with a single master instance?

Could you try this sleep:
https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L91


On Thu, Mar 5, 2015 at 2:07 PM, Sarkis Varozian <svarozian@gmail.com> wrote:

> Hey All,
>
> So I changed up my unicorn.rb a bit from my original post:
> https://gist.github.com/sarkis/1aa296044b1dfd3695ab
>
> I'm also still sending the USR2 signals on deploy staggered with 30 second
> delay via capistrano:
>
> on roles(:web), in: :sequence, wait: 30
>
> As you can see I am now doing a warup via rack MockRequest (I hoped this
> would warmup the master). However, this is what a deploy looks like on
> newrelic:
>
>
> https://www.dropbox.com/s/beh7nc8npdfijqp/Screenshot%202015-03-05%2009.05.15.png?dl=0
>
>
> https://www.dropbox.com/s/w08gpvp7mpik3vs/Screenshot%202015-03-05%2009.06.51.png?dl=0
>
> I'm running out of ideas to get rid of thse latency spikes. Would you guys
> recommend I try anything else at this point?
>
>
>
> On Wed, Mar 4, 2015 at 12:40 PM, Sarkis Varozian <svarozian@gmail.com>
> wrote:
>
>> Eric,
>>
>> Thanks for the quick reply.
>>
>> We are on Ruby 2.1.5p273 and unicorn 4.8.3. I believe our problem is the
>> lazy loading - at least thats what all signs point to. I am going to try
>> and mock request some url endpoints. Currently, I can only think of '/', as
>> most other parts of the app require a session and auth. I'll report back
>> with results.
>>
>>
>>
>> On Wed, Mar 4, 2015 at 12:35 PM, Eric Wong <e@80x24.org> wrote:
>>
>>> Sarkis Varozian <svarozian@gmail.com> wrote:
>>> > On Wed, Mar 4, 2015 at 12:17 PM, Michael Fischer <mfischer@zendesk.com
>>> >
>>> > wrote:
>>> >
>>> > > I'm not exactly sure how preload_app works, but I suspect your app is
>>> > > lazy-loading a number of Ruby libraries while handling the first few
>>> > > requests that weren't automatically loaded during the preload
>>> process.
>>> > >
>>> > > Eric, your thoughts?
>>>
>>> (top-posting corrected)
>>>
>>> Yeah, preload_app won't help startup speed if much of the app is
>>> autoloaded.
>>>
>>> Sarkis: which Ruby version are you running?  IIRC, 1.9.2 had terrible
>>> startup performance compared to 1.9.3 and later in case you're stuck on
>>> 1.9.2
>>>
>>> > That does make sense - I was looking at another suggestion from a user
>>> here
>>> > (Braulio) of running a "warmup" using rack MockRequest:
>>> > https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L77
>>> >
>>> > The only issue I am having with the above solution is it is happening
>>> in
>>> > the before_fork block - shouldn't I warmup the connection in
>>> after_fork?
>>>
>>> If preload_app is true, you can warmup in before_fork; otherwise it
>>> needs to be after_fork.
>>>
>>> > If
>>> > I follow the above gist properly it warms up the server with the old
>>> > activerecord base connection and then its turned off, then turned back
>>> on
>>> > in after_fork. I think I am not understanding the sequence of events
>>> > there...
>>>
>>> With preload_app and warmup, you need to ensure any stream connections
>>> (DB, memcached, redis, etc..) do not get shared between processes, so
>>> it's standard practice to disconnect in the parent and reconnect in the
>>> child.
>>>
>>> > If this is the case, I should warmup and also check/kill the old
>>> > master in the after_fork block after the new db, redis, neo4j
>>> connections
>>> > are all created. Thoughts?
>>>
>>> I've been leaving killing the master outside of the unicorn hooks
>>> and doing it as a separate step; seemed too fragile to do it in
>>> hooks from my perspective.
>>>
>>
>>
>>
>> --
>> *Sarkis Varozian*
>> svarozian@gmail.com
>>
>
>
>
> --
> *Sarkis Varozian*
> svarozian@gmail.com
>



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
a propriedade deste universo é de Brahma, e não dos microcosmos que também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 6%]

* Re: Request Queueing after deploy + USR2 restart
  2015-03-03 22:47  6% ` Bráulio Bhavamitra
@ 2015-03-04 19:50  0%   ` Sarkis Varozian
  0 siblings, 0 replies; 25+ results
From: Sarkis Varozian @ 2015-03-04 19:50 UTC (permalink / raw)
  To: Bráulio Bhavamitra; +Cc: unicorn-public

I tried this out by just using '/' as a warmup url. It looks like it did
not do much in helping the situation. I want to believe it is because our
homepage isn't doing a "heavy" enough call to get the server warmed up.
Looking into the gist a bit further, I noticed that you are disconnecting
the db connection after warming up:
https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L85-L86

Does the above matter? Should I be looking to do a more db intensive
request as the "warmup" request?

2015-03-03 14:47 GMT-08:00 Bráulio Bhavamitra <braulio@eita.org.br>:

> Maybe a warm up could help the new servers?
> https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L77
>
> How is the CPU usage during USR2?
>
> On Tue, Mar 3, 2015 at 7:24 PM, Sarkis Varozian <svarozian@gmail.com>
> wrote:
>
>> We have a rails application with the following unicorn.rb:
>> http://goo.gl/qZ5NLn
>>
>> When we deploy to the application, a USR2 signal is sent to the unicorn
>> master which spins up a new master and we use the before_fork in the
>> unicorn.rb config above to send signals to the old master as the new
>> workers come online.
>>
>> I've been trying to debug a weird issue that manifests as "Request
>> Queueing" in our Newrelic APM. The graph shows what happens after a
>> deployment (represented by the vertical lines). Here is the graph:
>> http://goo.gl/iFZPMv . As you see from the graph, it is inconsistent -
>> there is always a latency spike - however, at times Request Queueing is
>> higher than previous deploys.
>>
>> Any ideas on what exactly is going on here? Any suggestions on
>> tools/profilers to use to get to the bottom of this? Should we expect this
>> to happen on each deploy?
>>
>> Thanks,
>>
>> --
>> *Sarkis Varozian*
>> svarozian@gmail.com
>>
>>
>>
>
>
> --
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
> ideologia. Morra por sua ideologia" P.R. Sarkar
>
> EITA - Educação, Informação e Tecnologias para Autogestão
> http://cirandas.net/brauliobo
> http://eita.org.br
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
> lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
> destruídas nas fases de extroversão e introversão do fluxo imaginativo
> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
> naquele momento, essa pessoa é a única proprietária daquilo que ela
> imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
> por um milharal também imaginado, a pessoa imaginada não é a propriedade
> desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
> a propriedade deste universo é de Brahma, e não dos microcosmos que também
> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
> mutável ou imutável, pertence a um indivíduo em particular; tudo é o
> patrimônio comum de todos."
> Restante do texto em
> http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
>



-- 
*Sarkis Varozian*
svarozian@gmail.com


^ permalink raw reply	[relevance 0%]

* Re: Request Queueing after deploy + USR2 restart
    @ 2015-03-03 22:47  6% ` Bráulio Bhavamitra
  2015-03-04 19:50  0%   ` Sarkis Varozian
       [not found]     ` <CAJri6_vidE15Xor4THzQB3uxyqPdApxHoyWp47NAG8m8TQuw0Q@mail.gmail.com>
  2 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2015-03-03 22:47 UTC (permalink / raw)
  To: Sarkis Varozian; +Cc: unicorn-public

Maybe a warm up could help the new servers?
https://gist.github.com/brauliobo/11298486#file-unicorn-conf-rb-L77

How is the CPU usage during USR2?

On Tue, Mar 3, 2015 at 7:24 PM, Sarkis Varozian <svarozian@gmail.com> wrote:

> We have a rails application with the following unicorn.rb:
> http://goo.gl/qZ5NLn
>
> When we deploy to the application, a USR2 signal is sent to the unicorn
> master which spins up a new master and we use the before_fork in the
> unicorn.rb config above to send signals to the old master as the new
> workers come online.
>
> I've been trying to debug a weird issue that manifests as "Request
> Queueing" in our Newrelic APM. The graph shows what happens after a
> deployment (represented by the vertical lines). Here is the graph:
> http://goo.gl/iFZPMv . As you see from the graph, it is inconsistent -
> there is always a latency spike - however, at times Request Queueing is
> higher than previous deploys.
>
> Any ideas on what exactly is going on here? Any suggestions on
> tools/profilers to use to get to the bottom of this? Should we expect this
> to happen on each deploy?
>
> Thanks,
>
> --
> *Sarkis Varozian*
> svarozian@gmail.com
>
>
>


-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
a propriedade deste universo é de Brahma, e não dos microcosmos que também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 6%]

* Re: No, passenger 5.0 is not faster than unicorn :)
  @ 2014-12-03 14:10  6%   ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-12-03 14:10 UTC (permalink / raw)
  To: Hongli Lai; +Cc: unicorn-public, Hitendra Hugo Melo

Hello Hongli,

Thank you the guide, I've already learned a bit from it.

We already use nginx for static files and ssl and varnish for caching
public pages, so maybe turbocaching won't help too much.

In this test I've tested passenger in standalone mode (--max-pool-size
1) and unicorn with one worker. On a slow page, the variation was
minimal (~8.26 req/s in unicorn and ~8.11 in passenger). I haven't
tested fast and cacheable page.

Also, I've used ab for benchmarking. Next time will try wrk.

cheers,
bráulio

On Wed, Dec 3, 2014 at 8:00 AM, Hongli Lai <hongli@phusion.nl> wrote:
> Unicorn *is* in general very good and very efficient, no doubt about that.
> Eric Wong has made great design choices and is an excellent programmer.
>
> Having said that, in certain specific cases there's still room for
> improvement. That's why we focused so much on microoptimizations and
> specific optimizations like turbocaching. Have you followed Phusion
> Passenger's Server Optimization Guide?
> https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html
>
> Also, you have to ensure that your Rails app sets the correct caching
> headers. By default, Rails sets "Cache-Control: private, no-store" so that
> the turbocache cannot kick in. You should see very different results if you
> add "headers['Cache-Control'] = 'public'" to your Rails app. If you need any
> help with this, please feel free to contact me off-list. I'd be happy to
> help. We have also a benchmarking kit so that you can double check the
> results; email me if you're interested in this.
>
> As Sam said, most of the time will be spent in the Rails app. But
> turbocaching is one notable exception: it's the one feature that can speed
> things up even if your app is slow - provided that you set HTTP caching
> headers correctly.
>
> Unicorn is excellent at what it does: it's a minimal server with a specific
> I/O model that is supposed to be used behind a buffering reverse proxy.
> There is nothing wrong with that, and for the workloads that it's designed
> for, it's great. Phusion Passenger has merely chosen a non-generalist
> approach that aims to squeeze additional performance from specific cases. Of
> course, nothing's a silver bullet. Like any tool, it only works if you use
> it correctly.
>
> On Wed, Dec 3, 2014 at 10:50 AM, Bráulio Bhavamitra <braulio@eita.org.br>
> wrote:
>>
>> Hello all,
>>
>> I've just tested a one instance each (one worker with unicorn and
>> --max-pool-size 1 passenger 5) on the rails app I work.
>>
>> And the results are just as I expected, no miracle at all: Unicorn is
>> still the fatest!
>> (the difference is only a few milliseconds less per request)
>>
>> The blocking design of unicorn is proving itself very efficient.
>>
>> cheers!
>> bráulio
>>
>
>
>
> --
> Phusion | Web Application deployment, scaling, and monitoring solutions
>
> Web: http://www.phusion.nl/
> E-mail: info@phusion.nl
> Chamber of commerce no: 08173483 (The Netherlands)



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Reserved workers not as webservers
  @ 2014-10-09 18:06  7%       ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-10-09 18:06 UTC (permalink / raw)
  To: Eric Wong; +Cc: Devin Ben-Hur, Michael Fischer, unicorn-public

Eric, how with a simple monkey patch will allow a worker to not
connect with the kernel request queue?

On Thu, Oct 9, 2014 at 2:34 PM, Eric Wong <e@80x24.org> wrote:
> Devin Ben-Hur <dbenhur@whitepages.com> wrote:
>> Excellent points Michael.  But to Bráulio's original request, it
>> would be lovely to factor out the clean and robust process
>> management parts of unicorn (daemonization, pidfile-mgmt, pre-load,
>> fork, reap, signaling) separate from the HTTP/Rack server.
>
> I think some projects exist nowadays (and were inspired by unicorn).
> I also cannot speak to the quality of them, though.
>
> My take is that stuff ends up being fairly specific to the type of
> app used and putting an abstraction around them makes it harder to learn
> and use than the lower-level primitives Ruby provides.
>
> The ordering of some things (e.g. writing pid file, preload, binding
> sockets, hooks, timeout checks) seems subject to the needs of the
> specific server; and it's easier to figure out the ordering of those
> things when the lower-level parts are right in front of you instead of
> abstracted away in a library.
>
> Having Ruby as an abstraction around C syscalls is great since I don't
> have to worry about things like buffer overruns or error-checking every
> single syscall.  More abstraction than that ends up hiding too many
> important details, making programming and maintenance harder.



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 7%]

* Re: Reserved workers not as webservers
  @ 2014-10-09 18:01  7%       ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-10-09 18:01 UTC (permalink / raw)
  To: Michael Fischer; +Cc: unicorn-public

Oh I see you are talking about the case you have many machines for a
web app. The ones I admin is one VPS for all services. :)

On Thu, Oct 9, 2014 at 2:59 PM, Michael Fischer <mfischer@zendesk.com> wrote:
> On Thu, Oct 9, 2014 at 10:43 AM, Bráulio Bhavamitra <braulio@eita.org.br>
> wrote:
>
>> As being forked process, I never saw a worker problem crashing master
>> or other workers.
>
>
> Process isolation is one thing, but that's not the same thing as system
> isolation.  Imagine your worker process has a memory leak and in response,
> the kernel's OOM killer decides to kill your webserver children.
>
> --Michael



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 7%]

* Re: Reserved workers not as webservers
    @ 2014-10-09 17:43  6%   ` Bráulio Bhavamitra
    1 sibling, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-10-09 17:43 UTC (permalink / raw)
  To: Michael Fischer; +Cc: unicorn-public

Hello Michael,

As being forked process, I never saw a worker problem crashing master
or other workers.

Also, unicorn takes care to restart workers if they die, and that is
very useful for daemons to.

I agree with your scaling point, but that could be solved with
different unicorn configurations.

cheers,
bráulio

On Thu, Oct 9, 2014 at 1:45 PM, Michael Fischer <mfischer@zendesk.com> wrote:
> On Thu, Oct 9, 2014 at 5:24 AM, Bráulio Bhavamitra <braulio@eita.org.br>
> wrote:
>
>> I'm quite amazed of how preloading and fork and reduce memory usage.
>> Making it use even less memory and restarting the app faster, the next
>> step would be incorporate other daemons (also part of the app, in my
>> case delayed_job and feed-updater) AS unicorn workers.
>
>
> As your friendly neighborhood service engineer, my experience is that
> separating the concerns (keeping asynchronous processors separate from your
> synchronouous web services) is worth the additional memory and processor
> cost.  The two usually don't scale at the same rate, and you want to keep
> your failure domains separate as well: you don't want a bug in the async
> processor cause your web server to crash as well.   And let's not even get
> into the programming and maintenance challenges.
>
> There is such as thing as being too cheap. :)
>
> --Michael
>



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Master hooks needed
  @ 2014-10-04  2:04  7%           ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-10-04  2:04 UTC (permalink / raw)
  To: Eric Wong; +Cc: unicorn-public

Documentation is an excelent solution :)

On Fri, Oct 3, 2014 at 10:57 PM, Eric Wong <e@80x24.org> wrote:
> Bráulio Bhavamitra <braulio@eita.org.br> wrote:
>> I think the hook is needed because I took too much time to figure out
>> the problem and much more time to figure out the solution (this
>> master_run variable). Also, I don't think this master_run solution is
>> elegant.
>
> A guard variable is fairly common practice for initialization.
> It's not always nice, but I do not consider the existing hooks
> to be elegant, either; they're only unfortunately necessary.
>
> I consider having redundant features to be even worse.
>
> How about the following documentation change instead?
>
> --- a/examples/unicorn.conf.rb
> +++ b/examples/unicorn.conf.rb
> @@ -54,12 +54,23 @@ GC.respond_to?(:copy_on_write_friendly=) and
>  # fast LAN.
>  check_client_connection false
>
> +# local variable to guard against running a hook multiple times
> +run_once = true
> +
>  before_fork do |server, worker|
>    # the following is highly recomended for Rails + "preload_app true"
>    # as there's no need for the master process to hold a connection
>    defined?(ActiveRecord::Base) and
>      ActiveRecord::Base.connection.disconnect!
>
> +  # Occasionally, it may be necessary to run non-idempotent code in the
> +  # master before forking.  Keep in mind the above disconnect! example
> +  # is idempotent and does not need a guard.
> +  if run_once
> +    # do_something_once_here ...
> +    run_once = false # prevent from firing again
> +  end
> +
>    # The following is only recommended for memory/DB-constrained
>    # installations.  It is not needed if your system can house
>    # twice as many worker_processes as you have configured.



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 7%]

* Re: hopefully the end of *any* OobGC
  @ 2014-09-15 19:44  7% ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-09-15 19:44 UTC (permalink / raw)
  To: Eric Wong; +Cc: unicorn-public

Eric, do you have any kind of benchmark comparing the ruby versions?

On Mon, Sep 15, 2014 at 4:21 PM, Eric Wong <e@80x24.org> wrote:

> We may finally start deprecating OobGC, as it looks like incremental
> GC[1] is working well in ruby-trunk and will make it into the Ruby
> 2.2.0-preview1 release (should be out soon).
>
> I've been running unicorn.bogomips.org on ruby-trunk for most of the
> year without problems, and hte past few weeks with incremental GC.
> However, keep in mind I mainly serve static files (served by extras/* in
> yahns.git[2]) and don't use lot of heavy-weight code.
>
> If you find bugs in ruby-trunk itself, please report them to the
> https://bugs.ruby-lang.org/ issue tracker.  That has ruby-core ML
> integration[3]) so I can take a look at them.  Thanks.
>
>
> [1] https://bugs.ruby-lang.org/issues/10137
> [2] git clone git://yhbt.net/yahns
> [3] yes, I still hate using web browsers and logins :P
>
>


-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
a propriedade deste universo é de Brahma, e não dos microcosmos que também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 7%]

* Re: Old unicorn workers still receives requests?
  @ 2014-07-24 17:22  6%   ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-07-24 17:22 UTC (permalink / raw)
  To: Eric Wong; +Cc: unicorn-public

Thanks Eric! It is not clear to me if old workers have a lower priority to
pull requets than new workers.

cheers,
br=C3=A1ulio


On Thu, Jul 24, 2014 at 2:04 PM, Eric Wong <e@80x24.org> wrote:

> Br=C3=A1ulio Bhavamitra <braulio@eita.org.br> wrote:
> > Hello all,
> >
> > I would like to know if old unicorn still receives and process requests
> in
> > a QUIT signal is sent to the old master.
>
> During heavy traffic, yes, there's a chance due to the optimization
> in worker_loop (lib/unicorn/http_server.rb):
>
>       # make the following bet: if we accepted clients this round,
>       # we're probably reasonably busy, so avoid calling select()
>       # and do a speculative non-blocking accept() on ready listeners
>       # before we sleep again in select().
>       unless nr =3D=3D 0
>         tmp =3D ready.dup
>         redo
>       end
>
> Note, "receives" requests isn't correct, workers "pull" requests from
> a central queue in the kernel.
>



--=20
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educa=C3=A7=C3=A3o, Informa=C3=A7=C3=A3o e Tecnologias para Autogest=
=C3=A3o
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha =C3=A9 meu pai e Parama Prakriti =C3=A9 minha m=C3=A3e. O un=
iverso =C3=A9 meu
lar e todos n=C3=B3s somos cidad=C3=A3os deste cosmo. Este universo =C3=A9 =
a imagina=C3=A7=C3=A3o da
Mente Macroc=C3=B3smica, e todas as entidades est=C3=A3o sendo criadas, pre=
servadas e
destru=C3=ADdas nas fases de extrovers=C3=A3o e introvers=C3=A3o do fluxo i=
maginativo
c=C3=B3smico. No =C3=A2mbito pessoal, quando uma pessoa imagina algo em sua=
 mente,
naquele momento, essa pessoa =C3=A9 a =C3=BAnica propriet=C3=A1ria daquilo =
que ela
imagina, e ningu=C3=A9m mais. Quando um ser humano criado mentalmente camin=
ha
por um milharal tamb=C3=A9m imaginado, a pessoa imaginada n=C3=A3o =C3=A9 a=
 propriedade
desse milharal, pois ele pertence ao indiv=C3=ADduo que o est=C3=A1 imagina=
ndo. Este
universo foi criado na imagina=C3=A7=C3=A3o de Brahma, a Entidade Suprema, =
por isso
a propriedade deste universo =C3=A9 de Brahma, e n=C3=A3o dos microcosmos q=
ue tamb=C3=A9m
foram criados pela imagina=C3=A7=C3=A3o de Brahma. Nenhuma propriedade dest=
e mundo,
mut=C3=A1vel ou imut=C3=A1vel, pertence a um indiv=C3=ADduo em particular; =
tudo =C3=A9 o
patrim=C3=B4nio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 6%]

* Old unicorn workers still receives requests?
@ 2014-07-24 16:27  6% Bráulio Bhavamitra
    0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-07-24 16:27 UTC (permalink / raw)
  To: unicorn-public

Hello all,

I would like to know if old unicorn still receives and process requests in
a QUIT signal is sent to the old master.

cheers,
br=C3=A1ulio

--=20
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educa=C3=A7=C3=A3o, Informa=C3=A7=C3=A3o e Tecnologias para Autogest=
=C3=A3o
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha =C3=A9 meu pai e Parama Prakriti =C3=A9 minha m=C3=A3e. O un=
iverso =C3=A9 meu
lar e todos n=C3=B3s somos cidad=C3=A3os deste cosmo. Este universo =C3=A9 =
a imagina=C3=A7=C3=A3o da
Mente Macroc=C3=B3smica, e todas as entidades est=C3=A3o sendo criadas, pre=
servadas e
destru=C3=ADdas nas fases de extrovers=C3=A3o e introvers=C3=A3o do fluxo i=
maginativo
c=C3=B3smico. No =C3=A2mbito pessoal, quando uma pessoa imagina algo em sua=
 mente,
naquele momento, essa pessoa =C3=A9 a =C3=BAnica propriet=C3=A1ria daquilo =
que ela
imagina, e ningu=C3=A9m mais. Quando um ser humano criado mentalmente camin=
ha
por um milharal tamb=C3=A9m imaginado, a pessoa imaginada n=C3=A3o =C3=A9 a=
 propriedade
desse milharal, pois ele pertence ao indiv=C3=ADduo que o est=C3=A1 imagina=
ndo. Este
universo foi criado na imagina=C3=A7=C3=A3o de Brahma, a Entidade Suprema, =
por isso
a propriedade deste universo =C3=A9 de Brahma, e n=C3=A3o dos microcosmos q=
ue tamb=C3=A9m
foram criados pela imagina=C3=A7=C3=A3o de Brahma. Nenhuma propriedade dest=
e mundo,
mut=C3=A1vel ou imut=C3=A1vel, pertence a um indiv=C3=ADduo em particular; =
tudo =C3=A9 o
patrim=C3=B4nio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia


^ permalink raw reply	[relevance 6%]

* Re: Dealing with big uploads and/or slow clients
  @ 2014-06-06 13:31  6%   ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-06-06 13:31 UTC (permalink / raw)
  To: Eric Wong; +Cc: unicorn-public

Hello Eric,

Sorry, switched to plain text now...

So the idea is that nginx will buffer the upload request until all
data is received and then it will send it to unicorn? So unicorn only
receives the full request? Should I do some configuration to nginx for
this?

In fact, we are still using apache, but are planing to switch to nginx soon...

regards,
bráulio




On Thu, Jun 5, 2014 at 10:27 PM, Eric Wong <e@80x24.org> wrote:
> Bráulio Bhavamitra <braulio@eita.org.br> wrote:
>> Hello all,
>
> Hello, please stop sending HTML email, my spam filters are configured to
> give HTML mail high spam scores and forces moderation, so you may not
> get a response for a long time.  Non-English signature also tends to get
> flagged as spam.  This is an English list.  (Fwiw, we get 10-20 spams
> each day to this list which are filtered)
>
>> How do you deal with big uploads and/or slow clients with unicorn? The only
>> solution I've found was to increase timeout, because nginx can't help too,
>> or can?
>
> nginx handles slow clients extremely well.
>
> How big are you talking about and how much RAM do you have for your OS
> page cache?  Big uploads are OK if you have enough memory for caching in
> Linux (or fast SSDs).  The Linux page cache is very effective if you can
> process the data fairly quickly.
>
> If your clients are very slow and uploads cannot fit in the Linux
> page cache, lower your vm.dirty_* knobs (see kernel docs) to force
> earlier write-out so you don't get a thundering herd of disk activity
> when you run out of RAM.
>
> I don't know about caching in other OSes.
>
> My earliest deployments of unicorn (on a LAN) handled several terabytes
> of uploads every day, so working with big uploads has always been
> a priority.
>
> The reason unicorn+nginx works well (or at all) is the attention paid to
> data costs:
>
> * Ruby processes are expensive, tens to hundreds of megabytes each
> * client connections are cheap, several kilobytes at most
>   (including kernel data structures)
> * networks are slow, so most clients trickle
>
> Thus we spend more time buffering in places where things are cheap, and
> spend as little time holding on to big Ruby processes as possible.
>
> .. And thus intense dislike of bloated HTML, top-posting and giant
> signatures is directly tied to my software design philosophy.



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Dealing with big uploads and/or slow clients
@ 2014-06-05 17:39  7% Bráulio Bhavamitra
    0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-06-05 17:39 UTC (permalink / raw)
  To: unicorn-public

[-- Attachment #1: Type: text/plain, Size: 1558 bytes --]

Hello all,

How do you deal with big uploads and/or slow clients with unicorn? The only
solution I've found was to increase timeout, because nginx can't help too,
or can?

regards,
bráulio

-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e
destruídas nas fases de extroversão e introversão do fluxo imaginativo
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,
naquele momento, essa pessoa é a única proprietária daquilo que ela
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha
por um milharal também imaginado, a pessoa imaginada não é a propriedade
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso
a propriedade deste universo é de Brahma, e não dos microcosmos que também
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,
mutável ou imutável, pertence a um indivíduo em particular; tudo é o
patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

[-- Attachment #2: Type: message/external-body, Size: 84 bytes --]

^ permalink raw reply	[relevance 7%]

* Re: [ANN] unicorn 4.8.3 - the end of an era
  @ 2014-05-07 12:08  6% ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-05-07 12:08 UTC (permalink / raw)
  To: Eric Wong; +Cc: Unicorn, unicorn-public

+1, pushing to ssoma when emails standards empire is very strong is
way too much...

Another mailing list in another server should be created...

regards,
bráulio

On Wed, May 7, 2014 at 5:05 AM, Eric Wong <e@80x24.org> wrote:
> Changes:
>
> This release updates documentation to reflect the migration of the
> mailing list to a new public-inbox[1] instance.  This is necessary
> due to the impending RubyForge shutdown on May 15, 2014.
>
> The public-inbox address is: unicorn-public@bogomips.org
>     (no subscription required, plain text only)
> ssoma[2] git archives: git://bogomips.org/unicorn-public
> browser-friendly archives: http://bogomips.org/unicorn-public/
>
> Using, getting help for, and contributing to unicorn will never
> require any of the following:
>
> 1) non-Free software (including SaaS)
> 2) registration or sign-in of any kind
> 3) a real identity (we accept mail from Mixmaster)
> 4) a graphical user interface
>
> Nowadays, plain-text email is the only ubiquitous platform which
> meets all our requirements for communication.
>
> There is also one small bugfix to handle premature grandparent death
> upon initial startup.  Most users are unaffected.
>
> [1] policy: http://public-inbox.org/ - git://80x24.org/public-inbox
>     an "archives first" approach to mailing lists
> [2] mechanism: http://ssoma.public-inbox.org/ - git://80x24.org/ssoma
>     some sort of mail archiver (using git)
>
> * http://unicorn.bogomips.org/
> * unicorn-public@bogomips.org
> * git://bogomips.org/unicorn.git
> * http://unicorn.bogomips.org/NEWS.atom.xml
>
> --
> Eric Wong
> __
> http://bogomips.org/unicorn-public/ - unicorn-public@bogomips.org
> please quote as little as necessary when replying



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Does unicorn waits after_work to consider a worker ready?
  2014-05-04 12:57  6%           ` Bráulio Bhavamitra
@ 2014-05-04 21:24  6%             ` Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-05-04 21:24 UTC (permalink / raw)
  To: Eric Wong; +Cc: Unicorn, unicorn-public

Reached the state I wanted: decreased worker number using TTOU upon
each warm up time, something like a "phased restart".

Updated http://gist.github.com/brauliobo/11298486

2014-05-04 9:57 GMT-03:00 Bráulio Bhavamitra <braulio@eita.org.br>:
> Thanks very much Eric.
>
> Just looked at the Unicorn's source code and the answer to the
> subject's question is yes.
>
> Also, I have made the configuration a little shorter, and made worker
> killer optional: https://gist.github.com/brauliobo/11298486
>
> regards,
> bráulio
>
> On Fri, May 2, 2014 at 8:43 PM, Eric Wong <normalperson@yhbt.net> wrote:
>> Bráulio Bhavamitra <braulio@eita.org.br> wrote:
>>> That's the ruby design, as the heap only grows, so with a request that
>>> loads a lot of data the heap will grow big and never shrink.
>>> http://izumi.plan99.net/blog/index.php/2007/10/12/how-the-ruby-heap-is-implemented/
>>
>> That's ancient, I was waiting for Hongli to reply...
>>
>>> Ruby 2.1 changes that? We will soon migrate to ruby 2.1, but we are
>>> not ready for it yet.
>>
>> Yes, Ruby freed object slots since the 1.9 days, I think.
>>
>> Anyways, I've maintained a bunch of Ruby apps and I've gotten _all_ of
>> them have stable memory usage.  Often I needed to fix bugs in Ruby
>> itself or other gems/libraries to get there, though!
>>
>> One basic rule (which I learned as a Perl hacker): do not slurp.  Limit
>> the size of data you work with and break things into smaller chunks if
>> necessary (e.g. data from client uploads or database/API responses).
>> Things like running a "SELECT" without "LIMIT" in SQL should raise red
>> flags immediately.
>
>
>
> --
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
> ideologia. Morra por sua ideologia" P.R. Sarkar
>
> EITA - Educação, Informação e Tecnologias para Autogestão
> http://cirandas.net/brauliobo
> http://eita.org.br
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
> meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
> imaginação da Mente Macrocósmica, e todas as entidades estão sendo
> criadas, preservadas e destruídas nas fases de extroversão e
> introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
> uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
> única proprietária daquilo que ela imagina, e ninguém mais. Quando um
> ser humano criado mentalmente caminha por um milharal também
> imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
> ele pertence ao indivíduo que o está imaginando. Este universo foi
> criado na imaginação de Brahma, a Entidade Suprema, por isso a
> propriedade deste universo é de Brahma, e não dos microcosmos que
> também foram criados pela imaginação de Brahma. Nenhuma propriedade
> deste mundo, mutável ou imutável, pertence a um indivíduo em
> particular; tudo é o patrimônio comum de todos."
> Restante do texto em
> http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Does unicorn waits after_work to consider a worker ready?
  @ 2014-05-04 12:57  6%           ` Bráulio Bhavamitra
  2014-05-04 21:24  6%             ` Bráulio Bhavamitra
  0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-05-04 12:57 UTC (permalink / raw)
  To: Eric Wong; +Cc: Unicorn, unicorn-public

Thanks very much Eric.

Just looked at the Unicorn's source code and the answer to the
subject's question is yes.

Also, I have made the configuration a little shorter, and made worker
killer optional: https://gist.github.com/brauliobo/11298486

regards,
bráulio

On Fri, May 2, 2014 at 8:43 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Bráulio Bhavamitra <braulio@eita.org.br> wrote:
>> That's the ruby design, as the heap only grows, so with a request that
>> loads a lot of data the heap will grow big and never shrink.
>> http://izumi.plan99.net/blog/index.php/2007/10/12/how-the-ruby-heap-is-implemented/
>
> That's ancient, I was waiting for Hongli to reply...
>
>> Ruby 2.1 changes that? We will soon migrate to ruby 2.1, but we are
>> not ready for it yet.
>
> Yes, Ruby freed object slots since the 1.9 days, I think.
>
> Anyways, I've maintained a bunch of Ruby apps and I've gotten _all_ of
> them have stable memory usage.  Often I needed to fix bugs in Ruby
> itself or other gems/libraries to get there, though!
>
> One basic rule (which I learned as a Perl hacker): do not slurp.  Limit
> the size of data you work with and break things into smaller chunks if
> necessary (e.g. data from client uploads or database/API responses).
> Things like running a "SELECT" without "LIMIT" in SQL should raise red
> flags immediately.



-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Does unicorn waits after_work to consider a worker ready?
  @ 2014-05-01 19:00  6%       ` Bráulio Bhavamitra
    0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-05-01 19:00 UTC (permalink / raw)
  To: Eric Wong; +Cc: Unicorn, unicorn-public

On Thu, May 1, 2014 at 3:18 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Bráulio Bhavamitra <braulio@eita.org.br> wrote:
>> On Wed, Apr 30, 2014 at 10:33 PM, Eric Wong <normalperson@yhbt.net> wrote:
>> > You do not need to sleep before warmup.
>> Warm up requests are expensive. This sleep based on worker.nr makes
>> warm up happen on worker by worker, not all at once.
>
> The worker might just be processing the expensive request in a
> user-visible state, correct?
>
> Modern Linux (and I expect most OSes people use nowadays) are great at
> dividing CPU-intensive work fairly.  Of course, if there's disk
> intensive load, that's a different case.
Yeah, I see that frequently on top.

But if all workers are warming up at once, say 10 workers, then the
old workers will slow down to serve requests, as CPU will be heavily used
by the warming up workers. That's is the main reason to slow down warm up.

>
>> > The master never pushes requests to a worker.  The key to unicorn is the
>> > workers pull requests directly from the kernel queue.  The master is
>> > never involved with distributing requests to the worker.
>> Nice! So the kernel "sees" that worker is sleeping and should not pass
>> a request to it, I guess.
>
> Almost, but the kernel socket queueing doesn't really see.  It's more
> like the kernel just puts food on the table continuously without caring
> if workers are eating.  Sometimes the table overflows and food gets
> thrown in the trash when the workers are all sleeping or full.
Interesting... So the queue know about sleeping workers, but we have
to prevent that all workers are sleeping at the same time.

>
>> > On a side note, your config is depressingly long and complex :<
>> > Try to make your apps run well without needing unicorn-worker-killer,
>> > at least...
>> That's the ruby fate... Apps inevitably grow memory over time.
>
> Only if you let bugs stay around.
>
> If you find bugs in Ruby or the libs you use, please report and help get
> them fixed.  Ruby 2.1 had some corner cases, true, but we need to help
> fight against bloated apps.
That's the ruby design, as the heap only grows, so with a request that
loads a lot of data the heap will grow big and never shrink.
http://izumi.plan99.net/blog/index.php/2007/10/12/how-the-ruby-heap-is-implemented/

Ruby 2.1 changes that? We will soon migrate to ruby 2.1, but we are
not ready for it yet.

>
> ...and bloated email signatures :P
:P


-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Re: Does unicorn waits after_work to consider a worker ready?
  @ 2014-05-01 15:23  6%   ` Bráulio Bhavamitra
    0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-05-01 15:23 UTC (permalink / raw)
  To: Eric Wong; +Cc: Unicorn, unicorn-public

Hello Eric,

On Wed, Apr 30, 2014 at 10:33 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Bráulio Bhavamitra <braulio@eita.org.br> wrote:
>> Hello all,
>>
>> I had to use `sleep` (see https://gist.github.com/brauliobo/11298486)
>> to make rolling restart on my unicorn configuration.
>
> Btw, rack 1.6 (when released) should have a native warmup method thanks
> to Aman.  It's currently in rack.git.
Nice!
>
>> But I'm worried if unicorn consider the worker ready for request even
>> before after_fork finishes. Could you say if that is true?
>
> You do not need to sleep before warmup.
Warm up requests are expensive. This sleep based on worker.nr makes
warm up happen on worker by worker, not all at once.

>
> The master never pushes requests to a worker.  The key to unicorn is the
> workers pull requests directly from the kernel queue.  The master is
> never involved with distributing requests to the worker.
Nice! So the kernel "sees" that worker is sleeping and should not pass
a request to it, I guess.
>
>
> On a side note, your config is depressingly long and complex :<
> Try to make your apps run well without needing unicorn-worker-killer,
> at least...
That's the ruby fate... Apps inevitably grow memory over time.

regards,
bráulio


-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia

^ permalink raw reply	[relevance 6%]

* Does unicorn waits after_work to consider a worker ready?
@ 2014-04-30 13:54  6% Bráulio Bhavamitra
    0 siblings, 1 reply; 25+ results
From: Bráulio Bhavamitra @ 2014-04-30 13:54 UTC (permalink / raw)
  To: Unicorn

Hello all,

I had to use `sleep` (see https://gist.github.com/brauliobo/11298486)
to make rolling restart on my unicorn configuration.

But I'm worried if unicorn consider the worker ready for request even
before after_fork finishes. Could you say if that is true?

regards,
bráulio

-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
__
http://bogomips.org/unicorn-public/ - unicorn-public@bogomips.org
please quote as little as necessary when replying

^ permalink raw reply	[relevance 6%]

* Rolling restart configuration
@ 2014-04-25 19:20  6% Bráulio Bhavamitra
  0 siblings, 0 replies; 25+ results
From: Bráulio Bhavamitra @ 2014-04-25 19:20 UTC (permalink / raw)
  To: Unicorn

Hello all,

I would like to invite you to review the configuration I've done
focusing on a seamless restart for the user. Please follow
https://gist.github.com/brauliobo/11298486

I've used Rack::MockRequest to make a request to the worker's
homepage, warming it up and letting it ready for requests.

best regards,
bráulio

-- 
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão
http://cirandas.net/brauliobo
http://eita.org.br

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a
imaginação da Mente Macrocósmica, e todas as entidades estão sendo
criadas, preservadas e destruídas nas fases de extroversão e
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a
única proprietária daquilo que ela imagina, e ninguém mais. Quando um
ser humano criado mentalmente caminha por um milharal também
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois
ele pertence ao indivíduo que o está imaginando. Este universo foi
criado na imaginação de Brahma, a Entidade Suprema, por isso a
propriedade deste universo é de Brahma, e não dos microcosmos que
também foram criados pela imaginação de Brahma. Nenhuma propriedade
deste mundo, mutável ou imutável, pertence a um indivíduo em
particular; tudo é o patrimônio comum de todos."
Restante do texto em
http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying

^ permalink raw reply	[relevance 6%]

Results 1-25 of 25 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2014-04-25 19:20  6% Rolling restart configuration Bráulio Bhavamitra
2014-04-30 13:54  6% Does unicorn waits after_work to consider a worker ready? Bráulio Bhavamitra
2014-05-01  1:33     ` Eric Wong
2014-05-01 15:23  6%   ` Bráulio Bhavamitra
2014-05-01 18:18         ` Eric Wong
2014-05-01 19:00  6%       ` Bráulio Bhavamitra
2014-05-02 23:43             ` Eric Wong
2014-05-04 12:57  6%           ` Bráulio Bhavamitra
2014-05-04 21:24  6%             ` Bráulio Bhavamitra
2014-05-07  8:05     [ANN] unicorn 4.8.3 - the end of an era Eric Wong
2014-05-07 12:08  6% ` Bráulio Bhavamitra
2014-06-05 17:39  7% Dealing with big uploads and/or slow clients Bráulio Bhavamitra
2014-06-06  1:27     ` Eric Wong
2014-06-06 13:31  6%   ` Bráulio Bhavamitra
2014-07-24 16:27  6% Old unicorn workers still receives requests? Bráulio Bhavamitra
2014-07-24 17:04     ` Eric Wong
2014-07-24 17:22  6%   ` Bráulio Bhavamitra
2014-09-15 19:21     hopefully the end of *any* OobGC Eric Wong
2014-09-15 19:44  7% ` Bráulio Bhavamitra
2014-10-03 11:34     Master hooks needed Bráulio Bhavamitra
2014-10-03 12:22     ` Eric Wong
2014-10-04  0:53       ` Bráulio Bhavamitra
2014-10-04  1:22         ` Eric Wong
2014-10-04  1:35           ` Bráulio Bhavamitra
2014-10-04  1:57             ` Eric Wong
2014-10-04  2:04  7%           ` Bráulio Bhavamitra
2014-10-09 12:24     Reserved workers not as webservers Bráulio Bhavamitra
2014-10-09 16:45     ` Michael Fischer
2014-10-09 17:14       ` Devin Ben-Hur
2014-10-09 17:34         ` Eric Wong
2014-10-09 18:06  7%       ` Bráulio Bhavamitra
2014-10-09 17:43  6%   ` Bráulio Bhavamitra
2014-10-09 17:59         ` Michael Fischer
2014-10-09 18:01  7%       ` Bráulio Bhavamitra
2014-12-03  9:50     No, passenger 5.0 is not faster than unicorn :) Bráulio Bhavamitra
2014-12-03 11:00     ` Hongli Lai
2014-12-03 14:10  6%   ` Bráulio Bhavamitra
2015-03-03 22:24     Request Queueing after deploy + USR2 restart Sarkis Varozian
2015-03-03 22:32     ` Michael Fischer
2015-03-04 19:48       ` Sarkis Varozian
2015-03-04 19:51         ` Michael Fischer
2015-03-04 19:58           ` Sarkis Varozian
2015-03-04 20:17             ` Michael Fischer
2015-03-04 20:24               ` Sarkis Varozian
2015-03-04 20:35                 ` Eric Wong
2015-03-04 20:40                   ` Sarkis Varozian
2015-03-05 17:07                     ` Sarkis Varozian
2015-03-05 17:13  6%                   ` Bráulio Bhavamitra
2015-03-05 17:28  0%                     ` Sarkis Varozian
2015-03-05 17:31  7%                       ` Bráulio Bhavamitra
2015-03-05 17:32  7%                       ` Bráulio Bhavamitra
2015-03-03 22:47  6% ` Bráulio Bhavamitra
2015-03-04 19:50  0%   ` Sarkis Varozian
     [not found]     ` <CAJri6_vidE15Xor4THzQB3uxyqPdApxHoyWp47NAG8m8TQuw0Q@mail.gmail.com>
2015-09-13 15:12  7%   ` Bráulio Bhavamitra
2015-06-26 22:18  6% Does the the environment is preserved on USR2? Bráulio Bhavamitra

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.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).