Posso otimizar melhor esse arquivo mod_wsgi/apache?

Posso otimizar melhor esse arquivo mod_wsgi/apache?

Sou novo no Django/Python/mod_wsgi e gostaria de saber se poderia otimizar este arquivo para reduzir o uso de memória:

ServerRoot "/home/<foo>/webapps/django_wsgi/apache2"

LoadModule dir_module        modules/mod_dir.so
LoadModule env_module        modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module       modules/mod_mime.so
LoadModule rewrite_module    modules/mod_rewrite.so
LoadModule setenvif_module   modules/mod_setenvif.so
LoadModule wsgi_module       modules/mod_wsgi.so

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/<foo>/logs/user/access_django_wsgi.log combined
ErrorLog /home/<foo>/logs/user/error_django_wsgi.log
KeepAlive Off
Listen 12345
MaxSpareThreads 3
MinSpareThreads 1
MaxClients 5
MaxRequestsPerChild 300
ServerLimit 4
HostnameLookups Off
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
WSGIDaemonProcess django_wsgi processes=5 python-path=/home/<foo>/webapps/django_wsgi:/home/<foo>/webapps/django_wsgi/lib/python2.6 threads=1
WSGIPythonPath /home/<foo>/webapps/django_wsgi:/home/<foo>/webapps/django_wsgi/lib/python2.6
WSGIScriptAlias /auctions /home/<foo>/webapps/django_wsgi/auctions.wsgi
WSGIScriptAlias /achievers /home/<foo>/webapps/django_wsgi/achievers.wsgi

Responder1

Embora você tenha definido a diretiva WSGIDaemonProcess para criar um grupo de processos daemon separado, na verdade você não a está usando. Se for sua intenção usar o modo daemon, você deve excluir WSGIPythonPath e adicionar:

WSGIProcessGroup django_wsgi

Além disso, se você for usar o modo daemon e a única coisa que ocorre nos principais processos do Apache for servir arquivos estáticos, você poderá alterar ThreadsPerChild de volta para:

MaxRequestsPerChild 0

já que não há necessidade de reciclar os processos filhos do servidor Apache periodicamente.

Aliás, é uma má prática descartar toda a configuração padrão do Apache e adicionar apenas o que você acha necessário. Isso ocorre porque você está jogando fora toda a segurança de acesso padrão, o que significa que tecnicamente todos os arquivos em seu sistema podem ser servidos se houver um mapeamento de URL que permita acessar o arquivo.

informação relacionada