apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jess Holle <je...@ptc.com>
Subject [Fwd: Re: proxy_ajp connect timeout fix.]
Date Wed, 17 Dec 2008 16:27:56 GMT
As per Ruediger, I'm forwarding this issue to the APR development list.

This thread goes back some time on the httpd development list.  The 
problem is that Windows takes about 1 second to reject attempts to 
connect to a dead port, leading to serious performance issues with 
sparsely populated load balanced proxy port banks.  The httpd folk added 
a connection timeout that can be specified in milliseconds in 2.2.11, 
but using this had no effect on Windows.

Previously on the thread 
[http://marc.info/?l=apache-httpd-dev&m=122358323701009&w=2],  Matt 
Stevenson had suggested doing

  apr_socket_opt_set(newsock,  APR_SO_NONBLOCK, 1);

before the APR connect call and

  apr_socket_opt_set(newsock,  APR_SO_NONBLOCK, 0);

afterwards, but this had other side-effects and testing (possibly all on 
UNIX platforms) indicated that this was not necessary for proper 
behavior of apr_socket_connect().

Unfortunately, what I'm seeing now on Windows is /not/ proper connection 
timeout behavior.  I haven't added the changes suggested by Matt 
Stevenson to see if they help yet, but I plan on doing so.

Other suggestions and investigation of this would be much appreciated.

Jess Holle

View raw message