From: Jake Douglas <jakecdouglas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Rainbows! list" <rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org>
Subject: Re: Zbatery/Rainbows keepalive problem?
Date: Sat, 27 Nov 2010 21:30:18 -0800 [thread overview]
Message-ID: <AANLkTimPgtZ47OVJtBz5JMtHs8U5wk6=ULMSou_3e18z@mail.gmail.com> (raw)
In-Reply-To: <AANLkTimkvFSjiz60Bm90NQUa0+7-UE7-R35nVwU8LcQi-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Sat, Nov 27, 2010 at 1:55 PM, Jake Douglas <jakecdouglas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On Sat, Nov 27, 2010 at 12:50 AM, Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote:
>> Jake Douglas <jakecdouglas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> On Wed, Nov 24, 2010 at 2:14 PM, Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote:
>>> >
>>> > The normal Rails "render" path already seems[1] to add Content-Length;
>>> > are you doing something else to send responses from Rails?
>>>
>>> I am not doing anything special to send responses from Rails, only 'render'.
>>>
>>> I can see in my browser that keep-alive is set, and Content-Length is
>>> also set. It looks like the first couple requests finish quickly, and
>>> then the remaining take an additional 5 seconds each. It seems the
>>> browser is hanging for the default keep-alive timeout of 5 seconds on
>>> each request before proceeding. This happens with different browsers.
>>
>> Interesting. I rarely actually do anything with a full web browser,
>> but I can confirm keepalive works as expected with curl... Is there
>> anything in your error logs such as exceptions being thrown by your
>> app?
>>
>> Can anybody else reproduce this behavior Jake is seeing?
>>
>>> Is there additional information I can provide to give better insight
>>> into why this is happening?
>>
>> tcpdump or similar output would be useful, thanks!
>>
>> --
>> Eric Wong
>> _______________________________________________
>> Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
>> http://rubyforge.org/mailman/listinfo/rainbows-talk
>> Do not quote signatures (like this one) or top post when replying
>>
>
>
> It looks like the first issue is that by default Rails does not
> actually use Rack::ContentLength or set the Content-Length itself.
>
> The next issue is this bug, where Rack::ContentLength has some
> conditions that cause it to skip handling of the
> ActionDispatch::Response object from Rails. (ActionDispatch::Response
> < Rack::Response)
> http://rack.lighthouseapp.com/projects/22435/tickets/95-responsefinish-and-contentlength
>
> Fixing and enabling Rack::ContentLength seems to fix the issue for a
> single request to Rails from curl, but I am still getting the problem
> in my browser(s). Zbatery logs say that the request finishes quickly
> but the browser hangs for 5 seconds at a time. It is unclear to me
> what the cause is. I will try to do some more research and let you
> know the result.
>
> Thanks
>
After some more experimentation, it looks like the browser(s) fail to
close the connection after receiving the responses. Zbatery then waits
until the keepalive_timeout has expired, closes it, and accepts the
next connection. I gave the same application a try using Thin with
keep-alive and everything works fine. I spent a lot of time trying to
identify differences between the two, but the only useful thing I
managed to find is that the browser side never sends a FIN-ACK when
talking to Zbatery. For some reason, the browser doesn't think it's
finished. Any suggestions appreciated.
Thanks
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying
next prev parent reply other threads:[~2010-11-28 6:01 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-24 20:38 Zbatery/Rainbows keepalive problem? Jake Douglas
[not found] ` <AANLkTimSuK7-ihgCa00D-fot4U-FbZt2diQFndyN4uit-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-24 21:17 ` Eric Wong
[not found] ` <20101124211714.GA25256-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2010-11-24 21:29 ` Jake Douglas
[not found] ` <AANLkTi=oKL0Saw9sjf8Lrw-JakmOUKHnM363Qw=6JQO8-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-24 22:14 ` Eric Wong
[not found] ` <20101124221402.GA28625-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2010-11-27 4:35 ` Jake Douglas
[not found] ` <AANLkTi=J9cXKj+7Wi5AbL6FvwsqdJeb9UH6e-Yfs05v--JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-27 8:50 ` Eric Wong
[not found] ` <20101127085011.GA8663-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2010-11-27 21:55 ` Jake Douglas
[not found] ` <AANLkTimkvFSjiz60Bm90NQUa0+7-UE7-R35nVwU8LcQi-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-28 5:30 ` Jake Douglas [this message]
[not found] ` <AANLkTimPgtZ47OVJtBz5JMtHs8U5wk6=ULMSou_3e18z-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-28 10:07 ` Eric Wong
[not found] ` <20101128100705.GA23779-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2010-11-28 17:26 ` Jake Douglas
[not found] ` <AANLkTi=bt+cMTYdc+SMi0DJ3ZBB2iV8PryaWPm5-YqC--JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-29 21:12 ` Eric Wong
[not found] ` <20101129211236.GA18934-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2010-11-29 22:45 ` Jake Douglas
[not found] ` <AANLkTimE+t6o1U--N3MP7btZa0xKXEMHnhTTW=8Sn_x0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-07 0:20 ` 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/rainbows/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='AANLkTimPgtZ47OVJtBz5JMtHs8U5wk6=ULMSou_3e18z@mail.gmail.com' \
--to=jakecdouglas-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.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/rainbows.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).