2015-01-04 36 views
4

該網站定期變得與HTTP 500錯誤不可用。目前爲止我能從日誌中找到的是:IISNode定期失敗,HTTP 500.1001在Azure上

ModuleName iisnode 
Notification EXECUTE_REQUEST_HANDLER 
HttpStatus 500 
HttpReason Internal Server Error 
HttpSubStatus 1001 
ErrorCode The system cannot find the file specified. (0x2) 

請注意,在這種情況下的響應時間大約爲38秒。我懷疑會發生這種情況,因爲IISNode進程進入睡眠狀態,並且在喚醒後,第一次請求失敗後很長一段時間。我創建了Azure WebJob,每隔15分鐘對網站進行一次ping以保持活躍狀態​​,這似乎解決了問題。我只是想知道是否有更好的解決方案。

+0

我遇到這個問題也是一樣,沒有發現更好的解決方案。不幸的是,這對我來說不是一個長期可行的解決方案,因爲我的網站不需要一直熱身,因此花費了我的CPU時間。但是,一小時左右的不活動後出現錯誤也是不可接受的。 –

回答

1

有一個GitHub的問題here解決此問題。問題在於IIS如何懶惰地初始化節點進程。如果初始化時間過長,請求可能會丟失。建議的解決方法是在你的web.configiisnode.yml文件增加值中的一個或兩個爲maxNamedPipeConnectionRetrynamedPipeConnectionRetryDelay。 GitHub的答案更詳細地介紹了爲什麼這些值是相關的。