¿Puedo optimizar mejor este archivo mod_wsgi/apache?

¿Puedo optimizar mejor este archivo mod_wsgi/apache?

Soy nuevo en Django/Python/mod_wsgi y me preguntaba si podría optimizar este archivo para reducir el uso de memoria:

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

Respuesta1

Aunque haya definido la directiva WSGIDaemonProcess para crear un grupo de procesos de demonio separado, en realidad no la está utilizando. Si su intención es utilizar el modo demonio, debe eliminar WSGIPythonPath y agregar en su lugar:

WSGIProcessGroup django_wsgi

Además, si va a utilizar el modo demonio y lo único que ocurre en los procesos principales de Apache es servir archivos estáticos, puede volver a cambiar ThreadsPerChild a:

MaxRequestsPerChild 0

ya que no es necesario reciclar los procesos secundarios del servidor Apache periódicamente.

Por cierto, es una mala práctica desechar la configuración predeterminada completa de Apache y luego agregar solo lo que crea necesario. Esto se debe a que está desechando toda la seguridad de acceso predeterminada, lo que significa que técnicamente todos los archivos de su sistema pueden entregarse si existe una asignación de URL que permita acceder al archivo.

información relacionada