Three months ago I started looking at an alternative web server to serve URL redirects. The need arose when I found that Apache web server would consume a lot of system memory when testing simulated spikes to the server. Apache could handle between 1,200 to 1,700 requests a second. Though the number of requests per second was satisfactory, the memory usage when these simulated spikes was concerning.
I did some research and came across Lighttpd web server, also known as Lighty. Lighty took some time to figure out, but once I did I found the XML style configuration files were not hard to implement and understand. I did find the rewriting to be rather limited in comparison to the mod_rewrite module found in Apache. Never the less, I was able to duplicate the rewrite that I had in Apache in Lighty. For my application, I did have to modify the Lighty source code that way redirects returned a 302 HTTP response (It defaulted to 301 without any way of changing in the configuration files).
After performing similar tests with the same server configured with Lighty, I found that Lighty could handle between 3,900-4,100 requests per second. On top of this, memory usage was minimized to only a fraction of the total memory available on the server. Processor usage did increase, but was not substantial enough to warrant the change.
I am currently experimenting with combining Lighty with Apache services on one server in order to utilize the best of both worlds. See my post on the lighttpd.net forums: http://forum.lighttpd.net/topic/13830
Lighty may be able to also serve dynamic PHP files using FastCGI faster than Apache. I am still concerned that PHP will not function correctly since it is not multi-threaded friendly. I also have security concerns based on what I’ve seem with source code being exposed with a popular web site recently, I am not ready to take on that much risk.











