.net網站IIS應用池完美解決方案
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
一、防DDOS攻擊11條: 2.確保管理員對所有主機進行檢查,而不僅針對關鍵主機。這是為了確保管理員知道每個主機系統在 運行什么?誰在使用主機?哪些人可以訪問主機?不然,即使黑客侵犯了系統,也很難查明。 3.確保從服務器相應的目錄或文件數據庫中刪除未使用的服務如FTP或NFS。Wu-Ftpd等守護程序存在一些已知的漏洞,黑客通過根攻擊就能獲得訪問特權系統的權限,并能訪問其他系統——甚至是受防火墻保護的系統。 4.確保運行在Unix上的所有服務都有TCP封裝程序,限制對主機的訪問權限。 5.禁止內部網通過Modem連接至PSTN系統。否則,黑客能通過電話線發現未受保護的主機,即刻就能訪問極為機密的數據。 6.禁止使用網絡訪問程序如Telnet、Ftp、Rsh、Rlogin和Rcp,以基于PKI的訪問程序如SSH取代。SSH不會在網上以明文格式傳送口令,而Telnet和Rlogin則正好相反,黑客能搜尋到這些口令,從而立即訪問網絡上的重要服務器。此外,在Unix上應該將.rhost 和 hosts.equiv文件刪除,因為不用猜口令,這些文件就會提供登錄訪問! 7.限制在防火墻外與網絡文件共享。這會使黑客有機會截獲系統文件,并以特洛伊木馬替換它,文件傳輸功能無異將陷入癱瘓。 8.確保手頭有一張最新的網絡拓撲圖。這張圖應該詳細標明TCP/IP地址、主機、路由器及其他網絡設備,還應該包括網絡邊界、非軍事區(DMZ)及網絡的內部保密部分。 9.在防火墻上運行端口映射程序或端口掃描程序。大多數事件是由于防火墻配置不當造成的,使DoS/DDoS攻擊成功率很高,所以定要認真檢查特權端口和非特權端口。 10.檢查所有網絡設備和主機/服務器系統的日志。只要日志出現漏洞或時間出現變更,幾乎可以肯定:相關的主機安全受到了危脅。 11.利用DDoS設備提供商的設備。 估計你是網管,還是選用硬件防火墻象思科的,或專業軟件防火墻如:傲盾,天盾等來減少DDOS。
由于內存釋放不及時嚴重影響到服務器的正常運營,建議采用以下配置,但請考慮自身服務器的使用情況。
3、設置固定時間加收進程,比如在凌晨1:00至9:00之前訪問人數都比較少,影響很少小,可以設定每天在這個時間段內進行內存回收,以減少服務器因為內存不足帶來的影響。設定固定的時間在IIS6中沒有限制次數,可以根據實際情況來設定時間比如:晚上12:00,8:00,12:30,6:30等時間段時間有效的進程池資源回收。
2、在命令提示符下運行iisapp -a。注意,第一次運行,會提示沒有js支持,點擊確定。然后再次運行就可以了。這樣就可以看到pid對應的應用程序池
在Windows Server 2003中對于每一個Web應用,IIS 6.0都用一個獨立的w3wp.exe的實例來運行它。w3wp.exe也稱為工作進程(每一個主機頭都會有一個) 直接在任務管理器中結束進程是不起作用的,結束后不久它會執行啟動,要想結束它可以在IIS中找到相應的應用程序池停止相應的應用程序池工作。這些都不是解決辦法,它的根本問題是你的那個網站程序有問題,在找到問題以前可以先打開IIS找到應用程序池先用右鍵屬性中設置“性能”把其中的CPU設成大于60%關閉應用程序池,把關閉時間和開啟時間設短一些比如10秒,這樣當您的網站程序大量占用系統資源時IIS自動快速回收進程并且快速啟動進程,您的網站暫時還可以將就著工作。要解決根本問題還要從程序查起,您可以在IIS中的應用程序池中右鍵創建多個應用程序池,然后在每個主機頭中的文件家選項的底部將應用程序池對應道剛才建好的應用程序池,然后一個一個關閉在任務管理器中看看是哪個程序占用的資源較大。下面是一些網友的相關貼子也許對大家有幫助朋友的WEB服務器一直運行正常,但這幾天CPU占用率一直將近100%,遂去看個究竟。 w3wp.exe 占用了70%以上的CPU, 粗看一下并沒有問題,但就是這段代碼造成了w3wp.exe占用大量CPU,難道是死循環?似乎沒有理由。在循環體內加入計數,發現確實是死循環,說明RS.EOF一直為false,加入如下代碼: if RS.EOF = true then Response.Write "EOF is true" 發現輸出竟然是EOF is true EOF is false, 說明無法判斷RS.EOF的值,為何如此百思不得其解。檢查數據庫,發現庫中并沒有mytable表, 如果該表不存在,RS.Open "Select * FROM mytable", conn 就會出錯,為何沒有出錯,很有可能捕獲的異常被忽略了。 On Error Resume Next 原來問題在此。 On Error Resume Next忽略了查詢表時的失敗以及后續的錯誤,造成進入死循環。那為何網站本來運行正常,現在卻找不到mytable表了呢?仔細檢查網站才發現“有‘客’自遠方來”,上傳了后門工具、刪除了多張數據表,害我忙活了一天。 更多的內容大家還可以到: http://www.microsoft.com/china/technet/security/guidance/secmod93.mspx 查找更詳細的安全設置
這幾天服務器總是運行緩慢,遠程登錄后發現一個w3wp.exe的進程占用了100% cpu。
1.采用的jet 數據庫連接方式存在問題:http://support.microsoft.com/?id=838306 補丁下載: chs:WindowsServer2003-KB838306-x86-chs.exe enu:WindowsServer2003-KB838306-x86-enu.exe 2.將access數據庫擴展名改為asp 下面是我的差錯過程和解決方案: 搜索一下發現類似問題還真不少,那個w3wp的進程是iis6.0的應用程序池,網上的說法有兩種,一是因為asp或者asp.NET代碼中含有死循環引起的。但是服務器上這么多網站,誰知道那個網站出了問題。二是由于上面的jet連接數據庫方式的bug引起的,下載838306的補丁,或者升級到sp1可以解決這個問題,但是打了這個補丁后,有些網站的問題依然存在。
首先新建應用程序池: 然后將網站的應用程序池指向剛才建立的應用程序池: 在建立完所有應用程序池后,統一修改應用程序池的屬性: 將應用程序池安全帳戶指定為本地服務:
下面是尋找出錯網站的過程:要找到這個網站,必須把有問題的進程跟該網站的應用程序池聯系起來。首先設置任務管理器的查看方式,加入PID的顯示: 然后再命令行運行iisapp -a,可以看到PID跟應用程序池的對應關系:
在某位網站管理員的糾纏不休下,我終于無法忍受,幫他找錯誤- - 無數次配置iis,網站程序也換了,該升級的也升級了,問題還是存在,黔驢技窮,把網站下載到本地看看到底怎么回事。當我試圖打開他的數據庫的時候,問題出現了: 他的數據庫是.asp的擴展名,要先修改為.mdb才能打開,但是當我點擊要改名字的時候,我的電腦沒有響應了~!看來問題在這個數據庫了。 用命令行rename之后,打開數據庫,修復,似乎沒有任何問題,但是再改為.asp時,又出現了剛才的問題。哈~原來是.asp的擴展名在作怪。 但是我試著將其他的數據庫改為.asp,沒有問題。根本原因不得而知,望知情者告知。 最后,在iis中隨便添加了一個isapi對應到mdb,造成mdb無法執行,防止下載,將所有的.asp的數據庫改回.mdb,問題解決。 (轉)Windows Server 2003中的w3wp.exe進程大量占用cpu資源的各種問題解決方法 1:使用 MicrosoftJet 數據庫引擎 Web 應用程序可能停止響應負載,造成假死:
解決內存占用過多,可以做以下配置: 解決CPU占用過多: 根據w3wp取得是那個一個應用程序池:
環境:win2003server+IIs+ASP+MSSQL 現象:每隔一段時間(不定,有時幾分鐘,有時半小時)出現一次網站打開非常緩慢,甚至有時會出現超時打不開站點,此時查看服務器端的進程,CPU占用率達到100%,其中w3wp占用70~80%,SQL占用20~30%。所有服務器端的操作也變得緩慢。 初期解決方法:每次現象出現時,立即登錄服務器直接結束w3wp進程或重啟IIS服務,平均每天約十次操作,由于服務器存放于遠程機房,所有操作都是遠程控制進行,有時會因此出現遠程無法連接登錄的情況,只能通過電話通知機房管理人員重啟服務器解決,此過程導致用戶抱怨不斷。 經過網上查閱資料,發現此類現象多數由于網頁代碼不合理所致,以下情況會導致此類現象發生: 第一階段排查:根據查閱到的參考資料逐項分析 經過以上分析判斷,將不確定項連起來得出的結論是:某個采用了SQL數據庫的網站網頁代碼存在不合理語法,導致IIS和SQL進程CPU占用率過高。 第二階段排查: 2003服務器用.net程序,w3wp老占cpu資源!怎么辦?
w3wp.exe狂占內存的問題解決方案! 問: 好的asp.net程序,放在一臺服務器上,客戶端連接使用一段時間后,在服務器上打開任務管理器一看,發現有很多w3wp.exe,占用內存很大,達到1g,請問為什么會這樣?有什么辦法可以避免這種情況呢? 答:這主要是你的ASP.Net 開發的程序有 內存泄漏;對于 非托管資源,一定要注意 釋放。 -==================================
我的問題跟你一樣,不過我的內存是2G的,訪問量比較高,一般是差不多運行24小時后就得重啟,內存沒耗完,W3WP進程占到一百八九十兆,SQL占了二百多兆時,就得重啟,不然整個站點就當在那邊....55555555,搞了快半個月了還是不行,痛苦啊。 w3wp.exe就是你的ASP.NET應用宿主,如果你使用了大量的Session、Cache等資源,并且Session超市時間很長,那么內存占用量就比較大。應用池是為增加性能而設的一個特性,但是也消耗很大的內存。另外關掉Windows Server 2003里的大多數Service(那個不用都可以關掉),也可以節省一部分內存 1.懷疑在程序中應用的CACHE,
跟蹤下SQL的調用記錄,在每次往CACHE或SESSION寫入大量數據時記錄一下時間,看是否太過頻繁。 1.在win2003里asp.net的進程就是w3wp.exe 2.512M內存個人用是夠用了,但是放在服務器上就有點不夠用了,尤其是win2003 + asp.net +sql server 。尤其是sql server 他是很吃內存的,如果不控制的話,他會占光所有的物理內存(只剩下幾十M 倒 100M 吧)。win2003 本身就要占用150M左右。也就剩不下什么了。 3.優化asp.net程序,就向樓上的說的那樣,少用或不用session cache application之類的東西,再有就是是不是有翻頁的地方,翻頁處理不好也是會占很多內存的。 4.限制sql的內存。企業管理器——SQL的屬性(一般是local)——“內存”標簽 第四條是最快的方法,可以試一試。 我的一個自開發OA系統也存在這樣的問題。
建義2003系統安裝至少1G內存。
-==================================
應用程序池--屬性--回收--內存回收:消耗太多內存時回收工作進程:1、最大虛擬內存。2、最大使用的內存。兩個選項都沒選擇
Q : W3WP.EXE,應用程序,應用程序池之間的關系 A : 一個應用程序池可以包含多個應用程序,一個應用程序池創建一個W3WP.EXE進程.那么我們就不能簡單的說一個進程池對應一個W3WP.EXE進程了!其實是多個應用進程池對應一個W3WP.EXE進程的. Q : 如何啟動和關閉W3WP.EXE這個進程 A : W3WP.EXE這個進程將在你訪問www應用程序的時候啟動.有人就會這么問了:"我啟動了一個Web應用程序,發現系統自動創建了一個W3wp.exe進程。但我關閉這個Web應用程序后,發現這個剛創建的W3Wp.exe進程還在,請問如何關閉該進程。"這個進程不會在你關閉了這個程序以后,就馬上關閉的.那是因為Http是無連接的訪問,當你關閉了web網頁,不會返回相應的關閉信息,所以W3WP.EXE這個進程不會因為你關閉了web應用程序爾關閉. Q : 那么如何關閉這個進程呢? A : 在應用程序池的配置中,"空閑超時"中設定合適的時間,系統默認的是20分鐘.設定好指定的時間,那么在這個時間范圍內沒有在訪問應用程序,那么系統會自動的關閉W3WP.EXE這個進程的.而不需要我們人為的干預的.也可以在Windows任務管理器里面,結束這個進程 Q : 如何讓W3WP.EXE進程長時間的運行. A : W3WP.EXE這個進程的默認生命是1740分鐘,但依然是在這種默認的自然規律下,W3WP.EXE將在自己失業20分鐘后,被系統直接槍殺.這樣就可以看出,要想讓W3WP.EXE長時間的生存,那我們可以通過”空閑超時”不作處理來達到我們的目的. Q : 在IIS6下,經常出現w3wp.exe的內存及CPU占用不能及時釋放,從而導致服務器響應速度很慢。 A: 解決內存占用過多,可以做以下配置 解決CPU占用過多: 根據w3wp取得是那個一個應用程序池: A2 : by 小步舞曲 Q : 另一種加載了某程序后發生w3wp.exe問題 A: 修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config,再配置節點 該文章在 2018/9/8 18:24:53 編輯過 |
關鍵字查詢
相關文章
正在查詢... |