阿帕奇停止处理请求(mod_wsgi的?) [英] Apache stops processing requests (mod_wsgi?)
问题描述
在某一点上我的网站,与mod_wsgi的上运行的Apache2刚才的停止处理请求的。在连接到服务器进行维护和客户等待的对的反响,但它从来没有被Apache返回。此时的服务器的 0%CPU 的,并没有什么处理。我认为,阿帕奇只是地发送请求排队,从来没有让他们离开那里。
当我执行 apache2ctl优美
问题的不的决心。只有在 apache2ctl重启
。
At some point my site, running on Apache2 with mod_wsgi just stops processing requests. The connection to server is maintained and client waits for responce, but it never is returned by apache. The server at this time is at 0% CPU, and nothing is processing. I think, apache just sends request to queue and never gets them out of there.
When I perform apache2ctl graceful
the problem does not resolve. Only after apache2ctl restart
.
我的网站是金字塔的4实例WSGI应用和Zope的3这是normaly运行,没有速度的问题的两个实例,我所知道的。
My site is a 4 instance wsgi application of Pyramid and 2 instances of Zope 3. It is running normaly and does not have speed problems, that I am aware of.
版本:
Ubuntu的10.04
Apache2的2.2.14-5ubuntu8.9
中的libapache2-MOD-WSGI 2.8-2ubuntu1
versions: Ubuntu 10.04 apache2 2.2.14-5ubuntu8.9 libapache2-mod-wsgi 2.8-2ubuntu1
推荐答案
听起来你使用的是嵌入式模式来运行多个应用程序和您正在使用在子间preters问题的第三方C扩展,导致潜在的僵局。否则你的code内部死锁或阻塞外部服务不退还,造成可用进程/线程的疲惫。
Sounds like you are using embedded mode to run the multiple applications and you are using third party C extensions that have problems in sub interpreters, resulting in potential deadlock. Else your code is internally deadlocking or blocking on external services and never returning, causing exhaustion of available processes/threads.
首先,你应该看看使用守护进程模式,并委派每个Web应用程序,以一个独特的守护进程组,然后迫使每个在主跨preTER运行。
For a start, you should look at using daemon mode and delegate each web application to a distinct daemon process group and then forcing each to run in the main interpreter.
请参阅:
的http://$c$c.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process
HTTP://$c$c.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API
否则使用中介绍调试的提示:
Otherwise use debugging tips described in:
HTTP://$c$c.google.com/p/ modwsgi /维基/ DebuggingTechniques
获取什么应用程序在做的堆栈跟踪。
for getting stack traces about what application is doing.
这篇关于阿帕奇停止处理请求(mod_wsgi的?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!