performance

this isn't a fair comparison. on the other hand, this is the resulting performance of the current svn version of lhttpd3, as of may 13th, 2006 at 05:54 GMT. also, the 'simple' interface only serves static files, and lacks flexibility.

although the docroot is different (/testdir/ versus /) the actual directory (and file) are identical.



Apache2 (Configuration)

Server version: Apache/2.2.2
Server built:   May  3 2006 17:47:21
Server's Module Magic Number: 20051115:2
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128

Apache2 Prefork

LeahHTTPd3 SVN Simple

$ ab -n 10000 -c 100 http://127.0.0.1:80/107.jpg
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Finished 10000 requests


Server Software:        Apache/2.2.2
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /107.jpg
Document Length:        59595 bytes

Concurrency Level:      100
Time taken for tests:   13.692932 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      598616914 bytes
HTML transferred:       595966384 bytes
Requests per second:    730.30 [#/sec] (mean)
Time per request:       136.929 [ms] (mean)
Time per request:       1.369 [ms] (mean, across all concurrent requests)
Transfer rate:          42692.54 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0       3
Processing:    36  132 104.5    122    3283
Waiting:        2  125  49.2    121    2867
Total:         39  132 104.5    122    3283

Percentage of the requests served within a certain time (ms)
  50%    122
  66%    125
  75%    127
  80%    128
  90%    131
  95%    137
  98%    227
  99%    380
 100%   3283 (longest request)
$ ab -n 10000 -c 100 http://127.0.0.1:8090/testdir/107.jpg
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Finished 10000 requests


Server Software:        LeahHTTPd3
Server Hostname:        127.0.0.1
Server Port:            8090

Document Path:          /testdir/107.jpg
Document Length:        59595 bytes

Concurrency Level:      100
Time taken for tests:   4.299440 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      599703024 bytes
HTML transferred:       598375764 bytes
Requests per second:    2325.88 [#/sec] (mean)
Time per request:       42.994 [ms] (mean)
Time per request:       0.430 [ms] (mean, across all concurrent requests)
Transfer rate:          136214.72 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   27 271.3      1    3013
Processing:     2    7  22.7      3     636
Waiting:        0    2  21.8      1     617
Total:          4   34 283.6      4    3649

Percentage of the requests served within a certain time (ms)
  50%      4
  66%      5
  75%     18
  80%     19
  90%     22
  95%     23
  98%     24
  99%     32
 100%   3649 (longest request)