IIS 7.5在几个请求后崩溃(使用Django + PyISAPIe)

4
我成功地使用IIS作为Web服务器(使用PyISAPIe)运行了Django,在我的测试服务器上一切顺利,挂载Windows 2008 Server R2 64位。
然后我在另一台具有相同配置的服务器上安装了应用程序,第一个请求可以正常工作。然而,当我重新加载页面时,会出现“服务不可用”的页面。
在事件日志中,我看到一个应用程序错误,指出python26.dll存在一些问题:
Faulting application name: w3wp.exe
Faulting module name: python26.dll
Exception code: 0x40000015
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\system32\python26.dll

你能给我一些关于如何解决这个问题的提示吗?

更新:应用程序池的高级设置中的“快速故障保护”设置为5次故障;禁用它后,一切正常。

所以,现在的问题是:我如何检测导致故障的原因?

更新:我发现当有多个请求(img、css、js)时,IIS会崩溃。每个请求都会调用PyISAPIe,一旦识别出来就将其传递给静态服务器。不知道为什么会发生这种情况...

4个回答

2

1

请检查事件日志,应该会在其中找到。

您还可以在httperror日志(C:\ Windows \ System32 \ LogFiles \ HTTPERR)中找到更多详细信息。


1
我发现当有多个请求(img、css、js)时,IIS会崩溃。每个请求都会调用PyISAPIe,一旦被识别出来就会传递给静态服务器。不知道为什么会这样...
当ISAPI应用程序中有多个请求时,是否在两台机器上都会出现错误?每个请求在其自己的线程中运行。Python多线程模型是全局的 - 在该Python进程下运行的所有线程都是混合在一起并共享所有全局资源,因此您必须使用Python引擎序列化所有运行在所有应用程序和进程中的多线程代码。这是Python多线程处理的一个严重缺陷,可能是问题的根源。请参见http://docs.python.org/library/multiprocessing.html和其他来源。
但即使只在一台机器上出现这种情况而另一台机器没有,那也可能是原因 - 这还可能取决于许多其他环境变量 - 请求数量、机器资源、处理器等。

0

检查机器上的内存使用情况(总物理内存)。


我已经检查过了:内存使用量正常(有很多空闲的内存)。 - Don

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接