iis 7.5 - iis 7.5在几个请求后崩溃(使用Django + pyisapi)



我使用IIS作为web服务器(使用pyisapi)运行Django,在我的测试服务器上一切顺利,安装Windows 2008 server R2 64bit。

然后我将应用程序安装在具有相同配置的另一台服务器上,它可以很好地处理第一个请求。然后当我重新加载页面时,我得到一个"服务不工作"页面。

在事件日志中,我看到一个应用程序错误,说python26.dll有一些问题:

Faulting application name: w3wp.exe
Faulting module name: python26.dll
Exception code: 0x40000015
Faulting application path: C:WindowsSysWOW64inetsrvw3wp.exe
Faulting module path: C:Windowssystem32python26.dll
你能给我一些提示如何解决那个问题吗?

UPDATE:应用池高级设置中的"快速失败保护"设置为5次失败;禁用它,一切正常。

那么,现在的问题是:我如何检测导致失败的原因?

UPDATE:我发现当有多个请求(img, css, js)时IIS崩溃。对它们中的每一个调用pyisapi,一旦识别就将它们传递给静态服务器。

pyisapi不是在Windows 2008上运行Django的好选择。在本文中,你可以找到更好的解决方案:在Windows上运行Django(带性能测试)

检查事件日志,它应该在那里。

您还可以在httperror日志(C:WindowsSystem32LogFilesHTTPERR)中找到更多细节。

我发现当有多个请求时,IIS崩溃了。css, js)。对它们中的每一个调用pyisapi,将它们传递给static服务器一旦被识别。不知道为什么会这样…

多个请求会在两台机器上导致错误吗?当ISAPI应用程序中有多个请求时,每个请求都在自己的线程中运行。Python的多线程模型是GLOBAL的——在该Python进程下运行的所有线程都是混合的,并共享所有全局资源,因此您必须使用Python引擎序列化所有应用程序和进程中运行的所有多线程代码。这是Python多线程处理的一个严重缺点,可能是问题的根源。参见http://docs.python.org/library/multiprocessing.html和其他来源。

但即使这只发生在一台机器上而不是另一台机器上,这仍然可能是原因-它也可能取决于许多其他环境变量-请求数,机器资源,处理器等

检查机器的内存使用情况

相关内容

  • 没有找到相关文章

最新更新