lighttpd 1.5 performance

February 4th, 2007

Finally I also got interested in testing a lighttpd 1.5 snapshot… I did some benchmarks as described on the benchmark page at lighttpd.net

http_load was run on the same host as the server. Not that intelligent, but you still should be able to see the speed differences. The files were on a xfs partition striped from 2 harddisks (raid0).

I benchmarked only 100k files.

Completely unoptimized, minimal config file:
christian@tux ~/downloads/http_load-12mar2006 $ ./http_load -verbose -parallel 100 -fetches 10000 ../../www/http-load.100k.urls 
--- 60 secs, 4783 fetches started, 4683 completed, 100 current
--- 120 secs, 8990 fetches started, 8890 completed, 100 current
10000 fetches, 100 max parallel, 1.024e+09 bytes, in 138.994 seconds
102400 mean bytes/connection
71.9454 fetches/sec, 7.3672e+06 bytes/sec
msecs/connect: 0.15968 mean, 2.778 max, 0.04 min
msecs/first-response: 1289.53 mean, 3186.38 max, 94.982 min
HTTP response codes:
  code 200 -- 10000
Event handler explicitly set to linux-sysepoll, network backend set to linux-sendfile:
christian@tux ~/downloads/http_load-12mar2006 $ ./http_load -verbose -parallel 100 -fetches 10000 ../../www/http-load.100k.urls 
--- 60 secs, 4471 fetches started, 4371 completed, 100 current
--- 120 secs, 8770 fetches started, 8670 completed, 100 current
10000 fetches, 100 max parallel, 1.024e+09 bytes, in 141.553 seconds
102400 mean bytes/connection
70.6449 fetches/sec, 7.23404e+06 bytes/sec
msecs/connect: 0.173258 mean, 3.253 max, 0.044 min
msecs/first-response: 1305.77 mean, 3646.03 max, 36.729 min
HTTP response codes:
  code 200 -- 10000
Network backend gthread-aio, 16 stat-threads, 64 read threads:
christian@tux ~/downloads/http_load-12mar2006 $ ./http_load -verbose -parallel 100 -fetches 10000 ../../www/http-load.100k.urls 
--- 60.0003 secs, 5053 fetches started, 4953 completed, 100 current
10000 fetches, 100 max parallel, 1.024e+09 bytes, in 115.525 seconds
102400 mean bytes/connection
86.5612 fetches/sec, 8.86386e+06 bytes/sec
msecs/connect: 0.400417 mean, 20.948 max, 0.041 min
msecs/first-response: 172.457 mean, 1166.87 max, 0.424 min
HTTP response codes:
  code 200 -- 10000
Same with 2 stat-threads only:
christian@tux ~/downloads/http_load-12mar2006 $ ./http_load -verbose -parallel 100 -fetches 10000 ../../www/http-load.100k.urls 
--- 60 secs, 4651 fetches started, 4551 completed, 100 current
--- 120 secs, 9648 fetches started, 9548 completed, 100 current
10000 fetches, 100 max parallel, 1.024e+09 bytes, in 126.029 seconds
102400 mean bytes/connection
79.347 fetches/sec, 8.12513e+06 bytes/sec
msecs/connect: 0.239059 mean, 14.437 max, 0.045 min
msecs/first-response: 644.491 mean, 1839.25 max, 0.391 min
HTTP response codes:
  code 200 -- 10000

Sorry, comments are closed for this article.