windows2003 iis6.0假死問題解決

在一個項目中遇到了這個問題,一直以爲是代碼的問題。可是多次修改代碼後問題依舊。於是在網上查找了相關的內容。整理如下:

問題的原因1:
採用的jet 數據庫連接方式存在問題:
官方關於此問題的連接:http://support.microsoft.com/?id=838306

解決方式:
下載補丁:
chs:WindowsServer2003-KB838306-x86-chs.exe
enu:WindowsServer2003-KB838306-x86-enu.exe

問題的原因2:
asp或者asp.net代碼中含有死循環引起

解決方式:
如果你的服務器上只部署了一個網站,那直接查程序就可以了.
如果有多個網站,可採用如下方法查找引起問題的站點:

首先,將每個網站建立獨立的應用程序池,應用程序池的安全性帳戶設爲本地服務.過程如下:
 

新建應用程序池:
然後將網站的應用程序池指向剛纔建立的應用程序池:
在建立完所有應用程序池後,統一修改應用程序池的屬性:
  
將應用程序池安全帳戶指定爲本地服務:

設置完這些之後,問題依然是存在的,但是這樣的好處是一個網站出現問題,不致影響其他網站,但是有可能這個網站仍然佔用大量資源,導致其它網站響應緩慢。不過在任務管理器中出現了每個應用程序池的進程,因此可以找到具體出問題的進程了。

其次,是尋找出錯網站的過程:

要找到這個網站,必須把有問題的進程跟該網站的應用程序池聯繫起來。首先設置任務管理器的查看方式,加入PID的顯示:

 

先設置任務管理器的查看方式,加入PID的顯示:
然後再命令行運行iisapp -a,可以看到PID跟應用程序池的對應關係:

問題的原因3:

access數據庫後綴名的問題.

解決方式:

試着將數據庫的後綴名改爲asp或者是該回mdb有可能解決此問題,具體爲什麼不清楚.建議在使用此方法前對數據做備份.

問題的原因4:

IIS6.0壓縮損壞導致訪問衝突。

解決方式:

問題的原因5:
w3wp的內存佔用不能及時釋放,從而導致服務器響應速度很慢。
解決方式:
首先優化iis配置如下,

1、在IIS中對每個網站進行單獨的應用程序池配置。即互相之間不影響。
2
、設置應用程序池的回收時間,默認爲1720小時,可以根據情況修改。同時,設置同時運行的w3wp進程數目爲1。再設置當內存或者cpu佔用超過多少,就自動回收內存

其次優化程序:主要是優化SessionCache等資源的使用,儘量減少他們的使用頻率、大小和生命週期。

還應該有其他原因,有遇到者請回復告知,謝謝您的幫助。

<script src="http://club.book.csdn.net/people/javascript/gslcn1.js"> </script><script src="http://club.book.csdn.net/people/javascript/gslcn2.js"> </script><script src="http://club.book.csdn.net/people/javascript/gslcn3.js"> </script>
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章