logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Hardware & Networking View previous topic :: View next topic
Reply to topic   Topic: Apache 2.4.9 holding a socket when in "open" state
Author
nbouvrette



Joined: 03 Jul 2014
Posts: 4
Location: Montreal

PostPosted: Thu 03 Jul '14 14:33    Post subject: Apache 2.4.9 holding a socket when in "open" state Reply with quote

I have add odds issues with Chrome lately and I ended up finding back this issue related to my vanila 2.4.9 installation (downloaded on Apache Lounge). I use it for PHP but I was able to replicate the same behavior with PHP disabled (reusing the stock configs, other than the documentroot). The behavior I can replicate 100% of the time:

I open a dos prompt, and execute : telnet 127.0.0.1 80

Then I leave this window in that state without pressing any key (if I press any key it will not work)

I open a browser to http://127.0.0.1

The page will be loading forever... until that is, I press a key in my telnet session. Then the browser session will load as well. It can be any key (e.g. letter 'a').

My suspicious is that something is going on when Apache is in a "new socket" state, and waiting for some data to assign the thread to a child, and blocking other threads?

I tried to play with thread settings but couldn't find anything that would change this behavior.

This is causing an impact when using Chrome's default config and using PHP pages with Curl (to make tests for example). Full details can be found here:

https://code.google.com/p/chromium/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Pri%20M%20Iteration%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified&groupby=&sort=&id=387466

Thanks,
Nicolas
Back to top
nbouvrette



Joined: 03 Jul 2014
Posts: 4
Location: Montreal

PostPosted: Thu 03 Jul '14 15:21    Post subject: Re: Apache 2.4.9 holding a socket when in "open" s Reply with quote

One thing I might, is that this is 100% reproductible using Chrome and the "Predict network actions to improve page load performance" which as per Chrome's team only open a other socket in the background.

I can reproduce the behavior in IE11 when hitting refresh rapidly until it hangs. Or by opening two telnet sessions.

This leads be to think that the problem occurs when you have 2 sockets open in "wait" and you try to initiate a third connection...

Would this be related to the 2 HTTPD process running under Windows? I'm pretty sure this behavior is non existent on Linux.

Thanks,
Nicolas
Back to top
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3049
Location: Hilversum, NL, EU

PostPosted: Thu 03 Jul '14 15:28    Post subject: Reply with quote

So, only with the Chrome browser ?

Anything in the Apache error.log ?

Did you try with the following in httpd.conf ?

AcceptFilter http none
AcceptFilter https none
EnableSendfile off
EnableMMAP off
Back to top
nbouvrette



Joined: 03 Jul 2014
Posts: 4
Location: Montreal

PostPosted: Thu 03 Jul '14 17:44    Post subject: Reply with quote

Wow very strange, none of these values were define. So it seems that when I set:

AcceptFilter http none

Explicitely in httpd.conf it fix the problem - why is this default value messing up Chrome's default "acceleration" mecanism?

Thanks,
Nicolas
Back to top
nbouvrette



Joined: 03 Jul 2014
Posts: 4
Location: Montreal

PostPosted: Thu 03 Jul '14 20:33    Post subject: Reply with quote

FYI thanks to David Benjamin from the Chromium team for pointing this out:

http://superuser.com/questions/516030/apache-2-4-on-windows-responds-slowly-hangs-when-serving-some-dynamic-pages

Is there anything we can do to change those default values on the packages?

Thanks,
Nicolas
Back to top


Reply to topic   Topic: Apache 2.4.9 holding a socket when in "open" state View previous topic :: View next topic
Post new topic   Forum Index -> Hardware & Networking