Rainbows! Rack HTTP server user/dev discussion
 help / color / mirror / code / Atom feed
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 13:55:34 -0800	[thread overview]
Message-ID: <AANLkTimkvFSjiz60Bm90NQUa0+7-UE7-R35nVwU8LcQi@mail.gmail.com> (raw)
In-Reply-To: <20101127085011.GA8663-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>

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
_______________________________________________
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


  parent reply	other threads:[~2010-11-27 22:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-24 20:38 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 [this message]
     [not found]                         ` <AANLkTimkvFSjiz60Bm90NQUa0+7-UE7-R35nVwU8LcQi-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-28  5:30                           ` Jake Douglas
     [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=AANLkTimkvFSjiz60Bm90NQUa0+7-UE7-R35nVwU8LcQi@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 inbox:

	../../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).