httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Nelson" <jesse.nel...@military-inc.com>
Subject RE: mod_proxy performance with apache 2.2
Date Thu, 20 Mar 2008 20:19:38 GMT
What size file what are you using to test ? 

I just did this on 2.2.8  about 5 days ago 3 clients running ~600workers
each hitting proxy server that was server files between 15k and 600k on
3 backends.  was able to top it out over 110Mb/sec. and something like
1800-2k req/sec without really hurting the proxy.  

This config also was using a mix of rewrites/proxypass rules.  Over 200
or so rules.

This was on one virt however, and you could be hitting on something
there. 


-----Original Message-----
From: skye@seattle.f4.ca [mailto:skye@seattle.f4.ca] On Behalf Of Skye
Poier Nott
Sent: Thursday, March 20, 2008 12:56 PM
To: dev@httpd.apache.org
Subject: mod_proxy performance with apache 2.2

(Moved from users@ list as recommended)

Hi,

I am doing some load testing on a reverse proxy with apache 2.2 +  
mod_proxy (no caching) and I'm getting terrible throughput, I was  
wondering if anyone had a suggestion.

I have the following test network, all on gigabit ethernet:

1 origin server -> 2 mod_proxy servers -> 4 client simulators (flood)  
doing round-robin on the proxies

The origin and proxy servers are configured with name-based virtual  
hosts, the proxy servers with config containing 100 of these:

<VirtualHost *:80>
        ServerName w0099.example.com
        ProxyPass / http://10.100.10.XX:80/w0099/
        ProxyPassReverse / http://10.100.10.XX:80/w0099/
</VirtualHost>

When I start up flood on the client simulators (250 clients each), I  
only get about 4 Mbit/sec out of the origin server!  I've tried  
twiddling all the settings in mod_proxy to no avail (like smax=64  
max=512 ttl=120 min=8 acquire=1)

If I set up lighttpd+proxy on the proxy servers instead of apache, I  
fully saturate the gigE on the origin server (~500 Mbit/sec) as  
expected.

I've tried changing MaxClients from 256 to 512 to 1024, no effect.
I've tried changing from MPM prefork to worker, and twiddled threads  
per child, no effect.

What could explain this 125x difference in performance?  Is there some  
sort of resource or lock or something contention in mod_proxy that I  
should know about?

Are the virtual host lookups taking too long?  Eventually I'd like to  
support up to 10,000 virtual hosts through this proxy.  Is there  
something like mod_vhost_alias for proxy for large configurations?

Is using subdirectories in ProxyPass slowing things down?  Really, I'd  
just like to forward all requests for anything to the origin server IP  
and let the origin worry about serving the right vhost's files.

Thanks,
Skye


Mime
View raw message