From: Eric Wong <normalperson@yhbt.net>
To: unicorn list <mongrel-unicorn@rubyforge.org>
Subject: Re: Unicorn and HAProxy, 500 Internal errors after checks
Date: Thu, 2 Dec 2010 04:59:11 +0000 [thread overview]
Message-ID: <20101202045911.GA2688@dcvr.yhbt.net> (raw)
In-Reply-To: <4CF6EB6B.1070603@gmail.com>
Lawrence Pit <lawrence.pit@gmail.com> wrote:
> Eric Wong <normalperson@yhbt.net> wrote:
>> HAProxy starts writing request bodies to Unicorn as soon as the upload
>> starts,
>
> Is that also true when the nginx upload module is used? (assuming nginx
> sits between HAProxy and the unicorns, otherwise it doesn't make sense
> anyways). Unicorn is only hit after the complete upload is finished by
> nginx. I would assume this wouldn't be different if HAProxy is put in
> front of all the nginx servers.
I would setup a test and confirm. You can do this trivially with the
following Rack app:
use Rack::ContentLength
use Rack::ContentType
run lambda { |env|
input = env['rack.input']
buf = input.each do |line|
# each line is printed as Unicorn receives it,
# if Unicorn is behind nginx, the times for each
# line should be roughly/exactly the same.
puts "#{Time.now} #{line.inspect}"
end
[ 200, {}, [] ]
}
And then telnetting or netcatting to your frontend, and typing the
following (no leading spaces, use a proper hostname for vhosts):
PUT / HTTP/1.1
Host: example.com
Content-Length: 6
...and then hit Enter a few times while watching your Unicorn
terminal/logs. If you delay between hitting the Enter nginx
should be buffering that.
> keep-alive options are in HAProxy since 1.4
>
> There is further new development on this front if you're using SSL. See
> the first quick news section at http://haproxy.1wt.eu/ :
>
> "The main advantage over the x-forwarded-for patch is that it now
> supports keep-alive"
Cool.
--
Eric Wong
_______________________________________________
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
next prev parent reply other threads:[~2010-12-02 4:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-01 11:59 Unicorn and HAProxy, 500 Internal errors after checks Pierre
2010-12-01 16:12 ` Clifton King
2010-12-01 17:02 ` Pierre
2010-12-01 16:52 ` Eric Wong
2010-12-01 17:14 ` Pierre
2010-12-01 19:58 ` Eric Wong
2010-12-02 0:42 ` Lawrence Pit
2010-12-02 4:59 ` Eric Wong [this message]
2010-12-02 8:38 ` Pierre
2010-12-02 17:39 ` Eric Wong
2010-12-03 8:41 ` Pierre
2010-12-04 23:38 ` Eric Wong
2010-12-05 1:04 ` russell muetzelfeldt
2010-12-06 18:39 ` Eric Wong
2010-12-02 17:41 ` Eric Wong
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=20101202045911.GA2688@dcvr.yhbt.net \
--to=normalperson@yhbt.net \
--cc=mongrel-unicorn@rubyforge.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).