J'ai une application Django qui fonctionne derrière 2 serveurs mod_wsgi/Apache équilibrés en charge derrière Nginx (fichiers statiques, proxy inverse/balance de charge).Django/Apache geler avec mod_wsgi
Tous les jours, mon site ne répond plus complètement. Je suppose que beaucoup de clients demandent des URL qui bloquent.
Voici ma config
WSGIDaemonProcess web1 user=web1 group=web1 processes=8 threads=15 maximum-requests=500 python-path=/home/web1/django_env/lib/python2.6/site-packages display-name=%{GROUP}
WSGIProcessGroup web1
WSGIScriptAlias//home/web1/django/wsgi/wsgi_handler.py
J'ai essayé d'expérimenter avec seulement l'aide d'un seul fil et plusieurs processus, et plus de fils et un seul processus. Presque tout ce que j'essaie tôt ou tard aboutit à des chargements de pages temporisés.
Des suggestions pour ce que je pourrais essayer? Je suis prêt à essayer d'autres options de déploiement si cela permet de résoudre le problème.
De même, existe-t-il un meilleur moyen de surveiller mod_wsgi autre que le module d'état Apache? J'ai frappais:
curl http://localhost:8080/server-status?auto
Et en regardant le nombre de travailleurs occupés comme un indicateur pour savoir si je suis sur le point d'avoir des ennuis (je suppose que plus les travailleurs occupés que j'ai, les opérations de blocage plus sont en cours endroit).
REMARQUE: Certaines de ces demandes concernent un service Web REST que j'héberge pour l'application. Cela aurait-il un sens de limiter la localisation de cette URL via Nginx?
Vous n'êtes pas en train de courir avec 'DEBUG = True' non? –