View Single Post

  #4 (permalink)  
Old 07-08-2003
Joshua Slive
 
Posts: n/a
Default Re: Poor Apache 2 performance (relative to 1)

michaelb@championdata.com.au (Michael) wrote in message news:<d55785d7.0307071800.3fd8cfb1@posting.google. com>...
> Thanks for the input. You are right that the values of the parameters
> do not make sense. The correct values are:
> StartServers 100
> ServerLimit 100
> MaxClients 6400
> MinSpareThreads 10
> MaxSpareThreads 100
> ThreadsPerChild 64
> MaxRequestsPerChild 0
>
> However the problem is not so much with the configuration of the
> worker threads but the performance in general. Apache 2 performance
> is still a long way from Apache 1. Note that with the above
> configuration the machine has around 70MBytes free memory, and CPU
> utilisation is low (20-30 %). I get the feeling that I am missing
> something.


I am not an expert in high-performance web serving, but I can make a
couple comments:

1. If apache 1.3 can handle around 1024 clients in your setup, expecting
apache 2 to handle 6400 seems unreasonable. Just the context switching
alone could be deadly. Try bringing that back down to the 1024 range
and then increasing it slowly.

2. Unless this server is instantly hit with 6400 clients the moment it
starts, you are asking for a ton of thrashing at start-up. The
server starts 6400 threads, and then must kill them all until only
100 are free. I'd suggest setting StartServers much lower and
MaxSpareThreads much higher.

3. To figure out what is really going wrong, you may need to do
substantially more analysis. Just saying "performance is 35-50% lower"
is practically meaningless. Are you talking about hits/second? With
the same number of simultaneous clients? What kind of load? What
kind of content? What kind of network? What does your server-status
display look like? etc...

Joshua.