On Sun, 16 Nov 2003, Marc Slemko wrote:
> 3. Threading issues.  This is a red herring; threading issues can be a
> reason why moving to 2.0 wouldn't give someone enough of a reason to make
> it worthwhile, but they do not block anyone moving to 2.0.  if they
> don't want to use threads, they don't have to use threads.

I have always had the feeling that Apache2+prefork was a bit of a 
second-class citizen.  I have tested it periodically over the past 2 years 
and it has never gotten anywhere close to Apache1 in performance.  I ran 
another test of 1.3.29 vs 2.0.48-prefork just now just to make sure I 
wasn't blowing pure smoke here and here is what I got:

Apache-1.3.29

Document Path:          /bench_main.php
Document Length:        7832 bytes
 
Concurrency Level:      5
Time taken for tests:   2.038 seconds
Complete requests:      500
Failed requests:        0
Broken pipe errors:     0
Total transferred:      4071500 bytes
HTML transferred:       3916000 bytes
Requests per second:    245.34 [#/sec] (mean)
Time per request:       20.38 [ms] (mean)
Time per request:       4.08 [ms] (mean, across all concurrent requests)
Transfer rate:          1997.79 [Kbytes/sec] received
 
Apache-2.0.48

Concurrency Level:      5
Time taken for tests:   3.367 seconds
Complete requests:      500
Failed requests:        0
Broken pipe errors:     0
Total transferred:      4028508 bytes
HTML transferred:       3931622 bytes
Requests per second:    148.50 [#/sec] (mean)
Time per request:       33.67 [ms] (mean)
Time per request:       6.73 [ms] (mean, across all concurrent requests)
Transfer rate:          1196.47 [Kbytes/sec] received

I did try more requests, different concurrency levels and I tweaked the 
config of both to be as close as I could make them.

Looking at the total bytes tranferred, Apache2 is sending less mostly
because I forgot to remove the p3p module from my Apache1 setup which adds
a big long nasty p3p header to every response, but even with that Apache1
was way faster.

The benchmark itself is a standard little PHP thing I use to test stuff, 
so it may be that our Apache2Handler for PHP is crap and we aren't smart 
enough to write a decent Apache2 module.

-Rasmus

Reply via email to