> On 14 พ.ค. 2558, at 05:26, Tom Evans <tevans...@googlemail.com> wrote: > >> On Thu, May 14, 2015 at 4:36 AM, reduxionist <jonathan.barr...@gmail.com> >> wrote: <snip> >> The reason for those search results is that mpm-prefork does, however, spawn >> a process per request, > > No, really, it does not. It only spawns a new process when there are > no available workers to process an incoming request, and you have not > reached the maximum number of workers that you have configured it to > start.
Oops, sorry, I was totally wrong about that. > You can configure it to start all the worker processes you want > when it starts up, and never to kill them off, and it will never spawn > a new process. > > Apache processes are small, unless you do daft things like embed your > web application in each worker process (mod_php style). This is the > main complaint "Apache is eating all my memory" - it isn't, your web > application you've embedded into Apache is eating all your memory. > > All of this is irrelevant for django, because with Apache you should > use mod_wsgi in daemon mode, which separates out your web application > processes from the web server. <snip> >> I think the reason a lot of people seem to run mpm-prefork is just that it's >> the default multi-processing module for Apache on most (all?) *nix platforms >> and they don't know any better. > > Quite. We run a pair of Apache 2.4 reverse proxies in front of all of > our (400+) domains, serving around 40 million requests per day, > providing SSL termination and static file serving. We use event MPM > and we have it scaled to support a peak of 2048 simultaneous > connections. Load on the server never goes above 0.2, memory usage > never goes above 1GB for the entire OS + applications, the rest of the > RAM is used by the OS to cache the aforementioned static files. > > On our app servers we typically use Apache with worker MPM and > mod_wsgi, although we have a few nginx+uwsgi sites, and I would dearly > love some time to play around with a circusd + chausette + celery > setup. > > The choice of web server is, these days, irrelevant. If it uses too > much memory or can't handle enough users, it is never the fault of the > web server, but instead of your application and/or configuration. Thanks for the awesome write-up Tom and for correcting my error, my apologies to all for contributing to any FUD! Yours gratefully, Jonathan -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/46CB380A-BBA2-4F78-8F7F-8DFC7A994859%40gmail.com. For more options, visit https://groups.google.com/d/optout.