我有一个OSQA(python / django q& a application)安装,为8个不同的站点提供服务。这些网站都在开发中,流量最小。该服务器是一个虚拟专用服务器,具有512 MB的内存。
Apache仅在Nginx后面使用mod_wsgi提供动态页面。我无法阻止Apache在每次请求时消耗越来越多的内存,直到服务器窒息。
我试验了配置参数,但没有太多运气来减少内存占用。使用apache2.conf中的以下mpm_prefork参数:
StartServers 2
MinSpareServers 1
MaxSpareServers 4
MaxClients 4
MaxRequestsPerChild 100
2个apache进程开始使用4 mb,在第一个请求之后有4个进程,每个进程几乎50 mb,每个新请求这4个进程稳定地逐渐攀升到接近200 mb。
我觉得发生了什么问题。非常感谢任何建议。
答案 0 :(得分:1)
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
使用10,000次并发命中来对抗httpsf并且它仍然存在。