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 :)
next prev 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).