Hi.
We're looking at using 2.0 in the next generation of our website, and am
trying to get some benchmark numbers
on how much faster 2.0 is compared to 1.3.
So I set up a simple test, to serve a single 33k page. (the number
generated will be used as a benchmark, so we can test
what happens when we add modules etc etc)
The machine config is:
- sun ultra 4000 running Solaris 5.6 (8 cpus 2G ram)
- 10 linux boxes each with 5 clients, simulating 50 concurrent users.
(I'm using modified mstone as a load generator) for 5 mintues
Using a un-modifed apache 1.3 v19 code I get
~330 pages/second with the load average at about 6, with a average
response time of 116ms (stddev 341ms)
using apache 2 (cvs from this morning) threaded MPM :
~181 pages/second with a load average at about 5 with a average
response time of 245ms (stddev 345ms)
Using apache 2 ( a12 from web site) prefork MPM:
~330 pages/second with a load average of about 4 with a average
response time of 119.31ms (stdev 346ms)
Threaded MPM settings:
Start server 32 (modified mpm_default to allow this)
Max clients 32
minspare 5
maxspare 10
threads per child 64
max requests 512
prefork MPM:
Start Sever 512
Max Clients 256
minspare 5
max spare 10
max requests 512
1.3v19 Settings:
Start Sever 512
Max Clients 256
minspare 5
max spare 10
max requests 512
what I found with the threads per child MPM was that I was running out
of open files, so i had to bump up the number of processes
instead of the number of threads to stop the apache failing.
I guess the real queston I have is about the settings of the threaded
MPM, I have access to quantify and gprof , and can generate more
sophisticated
tests.
--Ian