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-unsubscr...@httpd.apache.org
  "   from the digest: users-digest-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to