Назад | Перейти на главную страницу

несколько проблем с производительностью django mod_python

У меня два сервера с двумя версиями django 0.9.6 и 1.0.2.

оба используются для некоторых старых сайтов (где миграция еще не завершена), и теперь ppl начал использовать 1.0.2.

У меня есть apache 2.2.9 и mod_python 3.3.1 на 32-битном сервере RHEL 4.

На одном сервере все сайты независимо от версии django работают довольно быстро.

но на втором сервере сайт с django 1.0.2 занимает начальное время загрузки 4-5 секунд (ожидание сайта .... в строке состояния).

Все кеширование / сравнение и т. Д. Отлично выполнены.

Я подозреваю, что есть проблема с изоляцией mod_python / django, когда мой apache Keep-Alive включен.

Но опять же, эти два сервера имеют одинаковые настройки apache, так что сейчас для меня это безумный момент. Я даже сравнил все установленные разрешения на файлы / библиотеки и т. Д.

Любезный совет, как мне действовать.

С уважением, Дебаджит

Django рекомендует mod_wsgi для продуктивных установок. Видеть http://docs.djangoproject.com/en/dev/topics/install/#install-apache-and-mod-wsgi для получения дополнительной информации. Возможно, вы попробуете этот модуль Apache и посмотрите, сохраняется ли проблема.

Apache / mod_python лениво загружает приложение Django при первом запросе, поэтому ваш первый запрос увидит эту задержку при загрузке всего кода и инициализации данных вашего приложения.

Эта проблема может показаться действительно серьезной, если использовать предварительную загрузку MPM в Apache, потому что больше процессов, в которые должна выполняться эта загрузка приложения, и, следовательно, влияет на большее количество начальных запросов.

У Apache / mod_wsgi такая же проблема. Если это проблема, вам необходимо настроить предварительную загрузку вашего приложения.

По поводу других проблем с использованием Apache / mod_python см .:

http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html

Во-первых, следуйте рекомендации mod_wsgi.

Вы также должны убедиться, что вы не обслуживаете медиа через mod_python. Apache хорош в обслуживании статических файлов, но ваш синтаксический анализатор сделает ужасную работу. Есть некоторая информация в Документы Django здесь.

Вы можете получить более подробную помощь, включив очищенные копии ваших конфигов.