Я развернул django-приложение, которое в основном работает нормально. Единственная проблема, с которой я сталкиваюсь, заключается в том, что иногда возникают зависания запросов, и я не могу найти причину этого. "Подвешивание" означает, например. если я нажимаю ссылку в бэкэнде администратора, браузер загружается (а в журнале доступа apache даже пока не появляется запрос GET), но не получает ответа. Только если я попрошу еще раз, он получит ответ.Django: задержки WSGI
Я опробовал множество различных WSGI-конфигураций, включая изменения режима Daemon/embedded, изменения количества процессов и потоков и т. Д. У меня просто нет идеи, где искать дальше. Вот мой текущий апач в Кoнфигурировании:
<VirtualHost myserver.com:80>
ServerName myserver.com
Alias /media/ /opt/myserver/static_media/admin/
Alias /favicon.ico /opt/myserver/static_media/img/favicon.ico
WSGIScriptAlias//opt/myserver/myproject.wsgi
WSGIDaemonProcess myserver.com user=www-data group=www-data processes=2 threads=15
ErrorLog /var/log/apache2/myserver-error.log
CustomLog /var/log/apache2/myserver.log common
</VirtualHost>
И мой WSGI-файл:
import os, sys
sys.path.append('/usr/local/django')
sys.path.append('/opt/myproject')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Любые идеи?
Почему так много потоков? – 2010-12-01 09:41:51
Это значение по умолчанию (http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide), btu Я также пробовал с меньшим количеством потоков, без успеха – schneck 2010-12-01 09:45:59