Apache2 Apache停止处理请求(mod_wsgi?)

Apache2 Apache停止处理请求(mod_wsgi?),apache2,mod-wsgi,ubuntu-10.04,Apache2,Mod Wsgi,Ubuntu 10.04,在我的站点上,在Apache2上运行mod_wsgi会停止处理请求。与服务器的连接得到维护,客户端等待响应,但apache从未返回该连接。此时服务器的CPU为0%,没有任何处理。我认为,apache只是将请求发送到队列,而从未将它们从队列中取出。 当我执行apache2ctl-matenergy时,问题无法解决。仅在apache2ctl重新启动后 我的站点是Pyramid的4个wsgi应用程序实例和Zope3的2个实例。据我所知,它运行正常,没有速度问题 版本: Ubuntu 10.04 apa

在我的站点上,在Apache2上运行mod_wsgi会停止处理请求。与服务器的连接得到维护,客户端等待响应,但apache从未返回该连接。此时服务器的CPU为0%,没有任何处理。我认为,apache只是将请求发送到队列,而从未将它们从队列中取出。 当我执行
apache2ctl-matenergy
时,问题无法解决。仅在apache2ctl重新启动后

我的站点是Pyramid的4个wsgi应用程序实例和Zope3的2个实例。据我所知,它运行正常,没有速度问题

版本: Ubuntu 10.04 apache2.2.14-5ubuntu8.9
libapache2 mod wsgi 2.8-2ubuntu1听起来像是在使用嵌入式模式运行多个应用程序,并且使用的第三方C扩展在子解释器中存在问题,从而导致潜在的死锁。否则,您的代码在外部服务上处于内部死锁或阻塞状态,并且永远不会返回,从而导致可用进程/线程耗尽

首先,您应该了解如何使用守护程序模式,并将每个web应用程序委托给不同的守护程序进程组,然后强制每个应用程序在主解释器中运行

见:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API

否则,请使用中介绍的调试提示:

用于获取有关应用程序正在执行的操作的堆栈跟踪