Following Rahul's excellent example for SquidCache, I've compiled a list 
of Lighttpd features either enabled or disabled at build time for 
various distros of Lighttpd and added a brief description of what you 
get when you enable each. These features are enabled/disabled via flags 
passed to the configure script.

The list is here: http://wikis.sun.com/display/WebStack/LighttpdDistros

For me the key factors in deciding what features to enable and which to 
disable, seem to be:
 - User demand
 - Availability of dependent libraries (i.e. OpenSSL and pcre)
 - Any performance impact enabling a feature might have
 - The cumulative affect on performance of enabling features
 
I'm sending out a message to the Lighttpd user aliases and fora to see 
if I can get any data on what Users would like to see and I'll also ping 
Jan - the Lighttpd lead to see if he has a view. I think that in terms 
of library dependencies, for now we'll have to go without support for 
SQLite. We should be good with the others if we decide to go with them, 
unless anyone can see any problems.

In my view the five that all of the distros sampled enable should stay. 
These are bzip2, zlib, crypt, SSL and pcre. I could do some basic 
performance testing with all of the features enabled but how useful is 
this? It's useful if it shows up potential problems, but there are only 
a limited number of Use Cases you can test for.

Most of us on the alias will have a view of what features would and 
would not be useful so please chip in with any comments or questions.

Another question that I'm just going to throw out there. What compiler 
flags should we use for building Lighttpd? It's not a very CPU hungry 
application. All of the testing I've done with Lighttpd have been done 
with Lighttpd built with a generic set of compiler flags. I know there 
have been some extended discussions about this for other integrations in 
the past.

BTW: Lighttpd makes use of sendfilev and dev/poll and we have an 
implementation of Solaris Event Ports that we are hoping to get putback 
into the Lighttpd commons. These all often appear in feature lists (as 
do Linux kqueue and epoll) but they are enabled dependent on the platform.

Thanks

Amanda


Reply via email to