При перезапуске процесса демона mod_wsgi

У меня есть приложение wsgi, работающее как процесс демона mod_wsgi (в режиме демона). Мои настройки таковы, что каждый демон перезапускается после 1000 запросов, как показано в рекомендациях по настройке mod_wsgi:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines

WSGIDaemonProcess www.site.com threads=1 processes=4 maximum-requests=1000

так что время жизни одного процесса демона составляет 1000 запросов.

Мой вопрос: когда перезапускается процесс демона? Это сразу после того, как ограничение максимального количества запросов заканчивается предыдущим, это при следующем запросе?

ОТРЕДАКТИРОВАНО: исправлена ​​опечатка в тредах.


person vonPetrushev    schedule 05.04.2011    source источник


Ответы (1)


Использование 'максимальных запросов' в производственных настройках не рекомендуется, если только ваше приложение не сломано настолько, что сильно теряет память, и вы не можете/не хотите это исправить.

Тем не менее, флаг, активируемый максимальным количеством запросов, в настоящее время установлен в начале запроса, из-за которого счетчик достиг этого значения. Однако это деталь реализации, которая может измениться. В mod_wsgi 4.0, например, это не будет так ясно, поскольку эта версия вводит концепцию постепенного тайм-аута перезапуска в определенных обстоятельствах, что означает, что до фактического перезапуска процесса может быть обработано больше запросов. Почему вам важно знать?

Кроме того, почему вы устанавливаете «threads = 0»? Как вы думаете, какой результат будет для этого? Это может быть не то, что вы думаете.

person Graham Dumpleton    schedule 05.04.2011
comment
Спасибо. Мне просто было любопытно, как обрабатывается перезапуск демонов. Я установил его на перезагрузку, просто чтобы быть уверенным, но я думаю, что лучше сделать тщательные тесты памяти, а затем я удалю ее. threads=0 была опечаткой, это однопоточный режим, поэтому 1 поток. - person vonPetrushev; 07.04.2011