簡體   English   中英

幾次請求后IIS 7.5崩潰(使用Django + PyISAPIe)

[英]IIS 7.5 crashes after a few requests (with Django + PyISAPIe)

我設法使用IIS作為網絡服務器運行Django(使用PyISAPIe )並且我的測試服務器中的一切順利,安裝了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,一旦識別就將它們傳遞給靜態服務器。 不知道為什么會這樣......

PyISAPIe不是在Windows 2008上運行Django的好選擇。在本文中,您可以找到更好的解決方案: 在Windows上運行Django(帶有性能測試)

我發現當有多個請求(img,css,js)時IIS崩潰了。 為每個人調用PyISAPIe,一旦識別就將它們傳遞給靜態服務器。 不知道為什么會這樣......

多個請求會導致兩台機器上的錯誤嗎? 當ISAPI應用程序中有多個請求時,每個請求都在其自己的線程中運行。 Python多線程模型是GLOBAL - 在該Python進程下運行的所有線程都是混合在一起並共享所有全局資源,因此您必須使用Python引擎序列化在所有應用程序和進程中運行的所有多線程代碼。 這是Python多線程處理的一個嚴重缺點,可能是您的問題的根源。 請參閱http://docs.python.org/library/multiprocessing.html和其他來源。

但即使這只發生在一台機器而不是另一台機器上,這可能仍然是原因 - 它還可能依賴於許多其他環境變量 - 請求數量,機器資源,處理器等。

檢查它應該在那里的事件日志。

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

檢查機器上的內存使用情況(物理總量)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM