You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2012/05/17 13:15:55 UTC

[Bug 53253] New: TCP_NOPUSH used with sendfile(2), cause transfers to freeze for a few seconds

https://issues.apache.org/bugzilla/show_bug.cgi?id=53253

          Priority: P2
            Bug ID: 53253
          Assignee: bugs@httpd.apache.org
           Summary: TCP_NOPUSH used with sendfile(2), cause transfers to
                    freeze for a few seconds
          Severity: major
    Classification: Unclassified
                OS: other
          Reporter: ftigeot@wolfpond.org
          Hardware: PC
            Status: NEW
           Version: 2.4-HEAD
         Component: Core
           Product: Apache httpd-2

Created attachment 28797
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=28797&action=edit
Remove the use of TCP_NOPUSH with sendfile(2)

Having updated a web server to apache-2.4 (sendfile enabled), I noticed
some static images didn't load in one go:

- top parts were displayed instantly
- image downloads were frozen for a few seconds
- missing bottom parts were then downloaded and displayed instantly

Switching EnableSendfile between on/off in httpd.conf enables or disables
this behavior 100% of the time

After some investigation, it was found this behavior was caused by the use
of APR_TCP_NOPUSH in the code path using sendfile(2).

Once patch-server_core_filters.c.txt is applied, Apache-2.4 works perfectly
fine with sendfile.


DragonFly BSD bug report:
http://bugs.dragonflybsd.org/issues/2368

pkgsrc problem report:
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=46458

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 53253] TCP_NOPUSH used with sendfile(2), cause transfers to freeze for a few seconds

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=53253

François Tigeot <ft...@wolfpond.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ftigeot@wolfpond.org

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 53253] TCP_NOPUSH used with sendfile(2), cause transfers to freeze for a few seconds

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=53253

Christophe JAILLET <ch...@wanadoo.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |PatchAvailable

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 53253] TCP_NOPUSH used with sendfile(2), cause transfers to freeze for a few seconds

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=53253

--- Comment #1 from Joe Orton <jo...@redhat.com> ---
Created attachment 29020
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=29020&action=edit
possible fix for TCP_NOPUSH usage

Can you try this patch instead?

Coverity's static analysis noticed a bug in this code which could well explain
the symptoms you're seeing here.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 53253] TCP_NOPUSH used with sendfile(2), cause transfers to freeze for a few seconds

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=53253

--- Comment #2 from François Tigeot <ft...@wolfpond.org> ---
I'm sadly unable to reproduce the original issue with Apache 2.4.10.

The last patch doesn't have any visible effect.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org