在IIS6下,經常出現w3wp的記憶體占用不能及時釋放,從而導致伺服器響應速度很慢。 可以做以下配置:1、在IIS中對每個網站進行單獨的應用程式池配置。即互相之間不影響。2、設置應用程式池的回收時間,預設為1720小時,可以根據情況修改。同時,設置同時運行的w3wp進程數目為1。再設置當記憶體或者cpu ...
在IIS6下,經常出現w3wp的記憶體占用不能及時釋放,從而導致伺服器響應速度很慢。
可以做以下配置:
1、在IIS中對每個網站進行單獨的應用程式池配置。即互相之間不影響。
2、設置應用程式池的回收時間,預設為1720小時,可以根據情況修改。同時,設置同時運行的w3wp進程數目為1。再設置當記憶體或者cpu占用超過多少,就自動回收記憶體
一般來說,這樣就可以解決了。但仍然會出現個別網站因為程式問題,不能正確釋放。
那麼,怎麼樣才能找到是哪一個網站的?
1、在任務管理器中增加顯示pid欄位。就可以看到占用記憶體或者cpu最高的進程pid
2、在命令提示符下運行iisapp -a。註意,第一次運行,會提示沒有js支持,點擊確定。然後再次運行就可以了。這樣就可以看到pid對應的應用程式池
3、到iis中察看該應用程式池對應的網站,就ok了。
iis假死狀態解決"錯誤應用程式 w3wp.exe,版本 6.0.3790.3959,錯誤模塊 php5ts.dll,版本"
為應用程式池 'DefaultAppPool' 提供服務的進程關閉時間超過了限制
伺服器經常產生“應用程式池 'DefaultAppPool' 提供服務的進程關閉時間超過了限制。進程 ID 是 '2068'。”的錯誤,導致iis處於假死狀態,經瞭解是IIS應用程式池的設置問題。
解決方法如下:
Internet信息服務(IIS)管理器->應用程式池->DefaultAppPool->右擊屬性
a、回收
1、回收工作進程(分鐘):選中,值為1740
2、回收工作進程(請求數目):不選(原先設置為35000)
3、在下列時間回收工作進程:不填
4、消耗太多記憶體時回收工作進程:全不選。(2、3、4項可能避免了在訪問量高的時候強制回收進程可能引發的伺服器響應問題,導致iis假死不響應)
b、性能
只選中空閑超時20分鐘。其他都不選。WEB園最大工作進程數為1(預設)。註意web園這裡一定要保持預設,如果填寫其他超過1的數字就會導致一些網站程式的後臺程式打不開或者刷新不停。
原來的請求隊列限製為4000,現在無限制。
c、運行狀況
前兩項都起用,是原來的預設設置。啟動時間限制90秒,關閉時間限制180秒。
啟動快速失敗保護的鉤去掉!
為了避免真的遇到很多錯誤時沒有提示,可以不關閉,只是把快速保護的保護範圍加大些,例如失敗數50次 時間段5分鐘 則關閉對應的程式。
“關閉時間限制180秒”是必須的,因為進程關閉的時間,原來為90秒限制,是預設值,如果進程關閉時間超過90秒,則認為超時,從而出現:進程關閉時間超過了限制 日誌,所以,適當延長這個時間,可以避免這種錯誤!
第2種方法:
原因:獨立進程的 記憶體堆戔消耗完了,IIS不能創建更多的進程工作空間來處理
解決方法:
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
2. 在Parameters鍵下新建一個DWORD項,名字為:UseSharedWPDesktop 值為1 重啟IIS
第3種
問題已解決,發現是資料庫連接無法釋放,不知道是什麼原因,同樣的代碼在本地就是好的,在伺服器端就有問題,最後在連接串裡加入以下語句解決問題.
Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30
第4種
新建應用程式池,不同的網站引用不同程式池。
---------------------
作者:林家阿酒
來源:CSDN
原文:https://blog.csdn.net/wzl505/article/details/82871097
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!