I'm presently managing a high-traffic python/django website using Apache and mod_wsgi. I am wishing that you have a faster webserver configuration available, and I have heard a reasonable quantity of strategies for lighttpd and fastcgi. Is setup faster than apache+mod_wsgi for serving dynamic django pages (I am already believing that lighttpd can server static files better)? The benchmarks online are generally poorly carried out or not yet proven so I am searching for some personal anecdotes. What architectural benefits does lighttpd + fastcgi provide? I realize that lighttpd uses epoll, which a fastcgi process is going to be multithreaded. Also, getting two separate processes, one for lighttpd and something for that python interpreter, is going to be largely advantageous.
I know of tornado and how it can handle 1000's of file descriptors with much less threads using epoll and callbacks. However, I'd would rather stick to django for the time being.
I would recommend nginx with superfcgi for internet sites rich in load. nginx becomes manifest pretty quickly for static files. superfcgi uses multiple processes with multiple threads that shows high stability for python programs regardless of GIL, just set quantity of ways to quantity of CPU cores at the server.
I do not have thorough benchmarks, but I am personally believing that, much like lighttpd can outshine apache on simpler tasks,
mod_wsgi gives apache the laurel if this involves serving Python web applications. ([cde] with its very own
nginx appears to do better still than apache, but, hey, you did not request about that!-).
Does not answer you question, but would you already use caching for the site? Like memcached? This may provide you with a better performance gain than studying the mess of switching webservers.