httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ahmed Bakir <abakirw...@gmail.com>
Subject Re: [users@httpd] httpd choking (503 errors) when stressing mod_proxy
Date Thu, 18 Nov 2010 17:20:04 GMT
Thanks, Jeroen.

I used a proxy block with a proxypass option and that fixed my problem. It
actually worked perfectly at the base configuration, the proxy pool settings
etc helped alleviate the problem but did not remove it completely. The same
was observed for KeepAlive Off.

I still suspect that the 2.2 module for mod_rewrite is broken.

Thanks again,
Ahmed

On Wed, Nov 17, 2010 at 1:35 PM, Jeroen Geilman <jeroen@adaptr.nl> wrote:

> On 11/17/2010 10:23 PM, Ahmed Bakir wrote:
>
>> Thanks for the responses!
>>
>> @jeroen:
>>
>> - There is no bandwidth difference between the connections. Both the
>> client and the host are either running on the same machine or on the same
>> LAN (I have tested on both and see the problem in both cases)
>> - I have increased TCP receiver buffers, and that has alleviated the
>> problem but it's not a feasible solution for my application.
>>
>
> Because ?
>
>
>  - I am running httpd on Windows (I have tried both Windows 7 and Windows
>> XP)
>>
>
> Ugh.
> Fugly TCP stack.
>
>
>  - These are my MPM details:
>>
>> Timeout 300
>> MaxKeepAliveRequests 100
>> KeepAliveTimeout 15
>>
>>
> For a reverse proxy with heavy load, DISABLE keepalives. COMPLETELY.
> They don't serve any useful purpose, and may in fact slow things down.
>
> You won't observe the issues when testing from one client, because that one
> client will re-use its connections.
>
> However, this does not work in the real world - proxy connections are
> fire-and-forget as far as the server is concerned.
>
> Keepalive under heavy load contributes to what you are seeing - service
> unavailable.
>
>
>  <IfModule mpm_winnt.c>
>> ThreadsPerChild 250
>> MaxRequestsPerChild  0
>> </IfModule>
>>
>> - I have configured my reverse proxy using rewrite rules with the [P]
>> directive
>>
>> This is an example:
>>
>> RewriteRule ^files/(.*)$ http://localhost:16/$1  [P]
>>
>
> Yeah... that means you can't regulate the proxy pool size and other
> settings.
> I'd reconsider using rewriterules when you don't really know why you're
> using them.
> A proper FilesMatch or Proxy block will do just fine:
>
> <Proxy /files/*>
>    ProxyPass http://localhost:16/ min=100 max=250 smax=100 acquire=1000ms
> </Proxy>
>
> For example; I am by no means an expert on proxy configuration, but this  I
> could infer from the documentation in a few minutes.
>
> You need to match the number of backend threads to your expected or -
> better - observed connections.
>
>
>  - I did not set any ProxyPass options in my config.
>>
>
> Perhaps you should!
>
> --
> J.
>
>
>
>
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>  "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>

Mime
View raw message