unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: "Bráulio Bhavamitra" <braulio@eita.org.br>
To: Devin Ben-Hur <dbenhur@whitepages.com>
Cc: Michael Fischer <mfischer@zendesk.com>,
	unicorn-public <unicorn-public@bogomips.org>
Subject: Re: Reserved workers not as webservers
Date: Thu, 9 Oct 2014 15:29:58 -0300	[thread overview]
Message-ID: <CAJri6_tjv7MZxrMy3fDu=khpy-e9KZBHH4i0m7yNuXtEvqDBSg@mail.gmail.com> (raw)
In-Reply-To: <5436C281.30309@whitepages.com>

On Thu, Oct 9, 2014 at 2:14 PM, Devin Ben-Hur <dbenhur@whitepages.com> wrote:
> On 10/9/14, 9:45 AM, Michael Fischer 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.
>
>
> 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.  This would give us a robust supervisor
> for asynchronous workers that reduce memory footprint with CoW and responds
> to a well understood set of signals for management.

That would be great! If unicorn's server except HTTP specific code
could be extracted into a separate gem it would be fantastic :)

  parent reply	other threads:[~2014-10-09 18:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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:17     ` Michael Fischer
2014-10-09 17:34     ` Eric Wong
2014-10-09 18:06       ` Bráulio Bhavamitra
2014-10-09 18:15         ` Eric Wong
2014-10-11  3:35           ` Bráulio Bhavamitra
2014-10-13  0:10             ` Bráulio Bhavamitra
2014-10-09 18:29     ` Bráulio Bhavamitra [this message]
2014-10-09 17:43   ` Bráulio Bhavamitra
2014-10-09 17:59     ` Michael Fischer
2014-10-09 18:01       ` Bráulio Bhavamitra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/unicorn/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJri6_tjv7MZxrMy3fDu=khpy-e9KZBHH4i0m7yNuXtEvqDBSg@mail.gmail.com' \
    --to=braulio@eita.org.br \
    --cc=dbenhur@whitepages.com \
    --cc=mfischer@zendesk.com \
    --cc=unicorn-public@bogomips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).