On Fri, Jan 13, 2012 at 3:18 PM, Stuart Laughlin <stu...@bistrotech.net> wrote: > I hope you are not lumping me in with the relentless grudge-bearing > apache attackers. (After all, I've already been accused of ad hominem > attacks and some sort of fanboy me-too'ism on this thread [seriously > guys, is this a tough room or what?]). I have nothing against apache > per se -- it's a great server with a rich feature-set not found in the > lighter servers. The only thing is, I don't want or need any of those > extra features for my django projects. So the only things those extra > features would contribute to my projects are additional complexity and > inefficiency. Servers like nginx, lighttpd, and cherokee were designed > specifically for people in this situation.
I don't know what causes it, however this view - that lighty, nginx or cherokee are higher performing than Apache - is just nonsense. It gets rolled out whenever someone decides not to use Apache, and is without basis in fact. Apache is also designed for extremely light weight processes, if you configure it thus. [Side note - none of this is personal to you! I'm not trying to say that you are the fore-front of a horde of rabid anti-Apache-ism, it's just a common view that is propagated that really winds me up!] Apache covers almost every scenario related to HTTP, but commonly the particular version that a distro will package up is not necessarily the version that is correct for your particular scenario. Commonly, it will come with every bell and whistle enabled, and using a safe-but-slow request processing model, to accommodate mod_php. What happens is that someone who does not know how to use Apache uses the stock version supplied by their distro, leaves all features enabled, and then benchmarks it against lighty with a minimal configuration, and draws incorrect conclusions. It's similar to benchmarking a Mercedes with a manual transmission against a Ford with an automatic transmission, driving the Mercedes only in first gear and concluding that the Ford is faster. > I'm not concerned with micro-performance enhancements. Nginx is > clearly more efficient and performant than apache, but my main concern > is being able to diagnose problems when they arise. I used apache/ > mod_wsgi for my first few production deployments, and it was a very > unpleasant experience -- weird memory usage statistics, users getting > intermittent error messages, etc. -- and tracking down the problem was > basically impossible. I found apache to be an opaque black box. The > only thing that saved me was Graham Dumpleton sweeping in to rescue me > with the perfect mod_wsgi config. He's the killer feature of django on > apache as far as I'm concerned. > Memory usage is one of the more common non-complaints aimed at Apache. Apache does not usually leak memory, and process sizes normally stay consistent for long long periods. The only time this does not happen is when you embed a language interpreter and application inside Apache, and that leaks. This is typical when running with mod_wsgi embedded mode, and I would guess that Graham had you change your setup to daemon mode. I would also say that Apache is a complex beast - there are lots of options and modules. It also has a very responsive and helpful support community. If anyone using Django needs help with any aspect of Apache, try us...@httpd.org . Cheers Tom PS: I would agree that Graham is one of the top features of Apache :) His mod_wsgi is excellent, and his support for Django is very admirable, given that (IIRC) he doesn't actually use it himself much! -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.