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

William Lovaton <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
                   |                            |m.co

--- Comment #2 from William Lovaton <[email protected]> ---
Sorry, but this problem is still happening. I'm testing httpd 2.2.23 from
http://centos.alt.ru/repository/centos/6/x86_64/ repository on a RHEL 6.4
server.  I was seeing the same problem from official RHEL packages
(httpd-2.2.15-26.el6.x86_64.rpm) and updating to 2.2.23 didn't solve the
problem.

My configuration is as follows:
* Reverse Proxy: RHEL 6.4 with apache 2.2.23 from CentosALT (Worker MPM)
* Backend Servers: 2 x RHEL 6.2 with apache 2.2.15-15.el6.x86_64 from RHEL
(Prefork MPM, huge in-house PHP 5 web app)

I'm using mod proxy balancer to spread the load between the 2 servers with the
following configuration:

ProxyPreserveHost On

<Proxy balancer://ciklos-balancer>
   BalancerMember http://10.11.33.35:80 route=web1 redirect=web2 loadfactor=1
retry=0
   BalancerMember http://10.11.33.36:80 route=web2 redirect=web1 loadfactor=1
retry=0

   ProxySet stickysession=ROUTEID
   ProxySet nofailover=On
</Proxy>

ProxyPass /balancer-manager !
ProxyPass /server-status !
ProxyPass / balancer://ciklos-balancer/
ProxyPassReverse / balancer://ciklos-balancer/


I'm also using mod_disk_cache to cache static data in the Reverse Proxy and the
backend servers performs on the fly compression with mod_deflate.

>From the Reverse Proxy point of view the request is always the first one in the
connection, which is keep alive 0 according to %k LogFormat and the response
code is HTTP 502.  Now, these requests never gets to the backend server,
inspecting both logs I can see the HTTP 502 request in the RP but there is no
corresponding request in the backend server.

The error log shows the following 2 entries:
[Sat Apr 13 12:27:41 2013] [error] [client 190.248.11.50] (20014)Internal
error: proxy: error reading status line from remote server 10.11.33.36:80,
referer:
http://www.ciklos.com.co/ciklos/php/vista/odontologia/hcOdontologica.php
[Sat Apr 13 12:27:41 2013] [error] [client 190.248.11.50] proxy: Error reading
from remote server returned by /ciklos/ips.php, referer:
http://www.ciklos.com.co/ciklos/php/vista/odontologia/hcOdontologica.php

The problem can be workarounded setting "force-proxy-request-1.0" and
"proxy-nokeepalive" but then I lose the performance benefit from Keep Alive
connections.  According to the logs I can get up to 190 keep-alive requests on
the same connection from the Reverse Proxy to the backend server (not bad for a
low traffic day like Saturdays).

There is also the option of using "proxy-initial-not-pooled" but again there is
a performance penalty if you use it.

The problem doesn't happen so often. On a low traffic day like today I have a
total of 432 HTTP 502 requests from a 1'300.000 requests sample.  But still
it's something that worries me since it can annoy my users.

We are trying to replace an old NetScaler appliance which seems to handle Keep
Alive connections just fine.

Isn't there a way for mod_proxy_http to retry the request when this error
happens? or maybe something else?

Thanks a lot for your time.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to