У меня есть OSQA (приложение python/django q &), обслуживающее 8 разных сайтов. Все сайты находятся в разработке, получая минимальный трафик. Сервер является виртуальным частным сервером с 512 МБ оперативной памяти.OSQA apache memory footprint
Apache обслуживает только динамические страницы с mod_wsgi за Nginx. Я не могу остановить, чтобы Apache потреблял все больше и больше памяти с каждым запросом, пока сервер не задохнется.
Я экспериментировал с параметрами конфигурации без большой удачи, чтобы свести к минимуму объем памяти. Со следующими параметрами mpm_prefork в apache2.conf:
StartServers 2
MinSpareServers 1
MaxSpareServers 4
MaxClients 4
MaxRequestsPerChild 100
2 Апача процессы начинаются с использованием 4 Мб и после первого запроса Есть 4 процессов с каждыми почти 50 МБ и с каждым новым запросом этих процессов 4 подниматься постепенно до около 200 мб каждая.
Я чувствую, что что-то не так происходит. Любые предложения приветствуются.
Вы имели в виду MinSpareServers вместо MinSpareThreads? потому что MinSpareThreads не распознается. – omat
Зависит от того, работаете ли вы с предки или работником. MinSpareServers означает, что вы используете prefork. См. Http://www.camelrichard.org/apache-prefork-vs-worker –
Спасибо, теперь он выглядит лучше. но я немного смущен. после добавления части WSGIDaemonProcess теперь есть четыре процесса с самого начала. Процессы = 2 связаны с числом процессоров? что было бы оптимальным для 4-процессорной машины? – omat