2011-04-05 156 views
1

我有一个wsgi应用程序作为mod_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个请求。

我的问题是: 什么时候守护进程重新启动?在最大请求限制完成前一个请求后是否正确?

EDITED:修正了线程中的错字。

回答

3

不推荐在生产设置中使用'最大请求',除非您的应用程序如此破碎以至于内存泄漏严重并且您不能/不想修复它。

也就是说,由最大请求触发的标志当前设置在请求的开始处,导​​致计数达到该值。然而,这是一个实现细节,可能会改变。例如,在mod_wsgi 4.0中,它不会如此清晰,因为该版本在某些情况下引入了正常重启超时的概念,这意味着在进程实际重新启动之前可能会处理更多的请求。为什么你知道这很重要?

另外,你为什么设置'线程= 0'?你认为结果会是什么?这可能不是你的想法。

+0

谢谢。我只是很好奇如何重新启动守护进程。我把它设置为重新启动,但我想最好是对内存进行彻底测试,然后将其删除。 'threads = 0'是一个拼写错误,它是单线程模式,所以有1个线程。 – vonPetrushev 2011-04-06 22:18:18