Вопрос

У меня есть установка ASQA (Python / Django Q & A), обслуживающая 8 различных сайтов. Сайты все в разработке, получают минимальный трафик. Сервер представляет собой виртуальный частный сервер с 512 МБ ОЗУ.

Apache обслуживает только динамические страницы с MOD_WSGI за Nginx. Я не могу остановить Apache потребляя все больше и больше памяти с каждым запросом до тех пор, пока сервер не задумывается.

Я экспериментировал с параметрами конфигурации без особой удачи, чтобы минимизировать след памяти. Со следующими параметрами MPM_PREFORK в Apache2.conf:

StartServers          2
MinSpareServers       1
MaxSpareServers       4
MaxClients            4
MaxRequestsPerChild 100

2 процессы Apache начнут использовать 4 МБ и после первого запроса существует 4 процесса с каждым почти 50 МБ, а при каждом новом запросе этих процессов устойчиво поднимаются до почти 200 МБ каждый.

Я чувствую, что есть что-то не так. Любые предложения очень ценятся.

Это было полезно?

Решение

KeepAlive Off
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 3
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 2

WSGIDaemonProcess osqaWSGI processes=2 python-path=/web/osqa_server:/web/osqa_server/lib/python2.6 threads=1 maximum-requests=550
WSGIProcessGroup osqaWSGI

RAN HTTPERF против этого с 10 000 одновременных хитов, и он все еще стоял.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top