关于mod_wsgi守护进程重启的问题
我有一个使用mod_wsgi作为守护进程运行的wsgi应用程序(在守护进程模式下)。我的设置是每个守护进程在处理完1000个请求后会重启,具体配置如下:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines
WSGIDaemonProcess www.site.com threads=1 processes=4 maximum-requests=1000
这意味着每个守护进程的生命周期是处理1000个请求。
我的问题是:守护进程是什么时候重启的?是在完成上一个请求后立即重启,还是在下一个请求到来时重启?
编辑:修正了线程数的拼写错误。
1 个回答
3
在生产环境中使用“最大请求数”并不推荐,除非你的应用程序有严重的内存泄漏问题,而你又不想或者不能去修复它。
另外,触发最大请求数的标志是在请求开始时就设置的,这导致了请求计数达到了那个值。不过,这只是实现的细节,未来可能会有所改变。例如,在mod_wsgi 4.0版本中,这个情况就不那么简单,因为它引入了一种在特定情况下优雅重启的超时概念,这意味着在进程真正重启之前,可能会处理更多的请求。你知道这个为什么重要吗?
还有,你为什么要设置'threads=0'?你觉得这样会有什么结果?可能并不是你想的那样。