很多時候我們發(fā)現(xiàn)網(wǎng)站打開速度很慢,甚至打不開了,登錄服務(wù)器的時候也幾乎卡的不動了,然后我們通過后臺檢查會發(fā)現(xiàn)服務(wù)器內(nèi)存很高。對于這樣的問題我們改怎么辦呢?
對于這種情況我們首先來分析一下內(nèi)存跑滿是否是正常情況,那什么是正常情況呢?就是您用戶群足夠多,導(dǎo)致內(nèi)存滿了的情況。這樣的情況下我們只能通過升級服務(wù)器內(nèi)存來解決。而對于非正常情況呢?
對于非正常情況下出現(xiàn)的內(nèi)存跑滿,那我們首先要分析一下是否是因為攻擊導(dǎo)致的,而導(dǎo)致內(nèi)存跑滿的攻擊常遇到的就是CC攻擊,CC攻擊是通過代理服務(wù)器來模仿貌似合法的請求,這個時候好像是同時訪問服務(wù)器的人數(shù)增多了。所以就會導(dǎo)致服務(wù)器的資源大范圍的消耗,也會導(dǎo)致內(nèi)存跑滿或者CPU跑滿帶寬跑滿這樣的情況。對于這樣的攻擊來說我們可以通過檢測IIS連接數(shù)的工具來檢測是否有站點連接上突增,比如正常的時候同時訪問您這個站點的用戶只有四五十個,而這個時候連接上達(dá)到幾百幾千甚至上萬。那毫無疑問就是被CC攻擊了。對于CC攻擊我們可以找機(jī)房做對應(yīng)的策略或者是在服務(wù)器上面安裝安全狗之類的防護(hù)軟件進(jìn)行防護(hù),如果實在防護(hù)不了的話可以通過cdn來防護(hù)或者關(guān)閉對應(yīng)的站點。
那如果不是被CC攻擊,我們怎么檢查呢?
我們啟動任務(wù)管理器,選擇進(jìn)程。然后點擊內(nèi)存查找是哪個進(jìn)程占用內(nèi)存嚴(yán)重
一般占用占用內(nèi)存較大的進(jìn)程有W3WP,sqlserver、mysqld.
其中w3wp就是站點,如果是w3wp的話可以查找對應(yīng)的站點,然后找到站點所對應(yīng)的程序池,在程序池屬性上面可以通過設(shè)置回收時間、內(nèi)存最大使用值或共用進(jìn)程池來減少內(nèi)存的占用。
如果是SqlServer,那就是SqlServer數(shù)據(jù)庫占用嚴(yán)重。那我們就要看一下是否是程序設(shè)計不合理導(dǎo)致的,mysqld也是如此。如果程序并未用到數(shù)據(jù)庫的話,可以直接禁止掉數(shù)據(jù)庫。這樣內(nèi)存就會恢復(fù)正常了
香港總公司:香港縱然雲(yún)計算國際有限公司 HK ZONGRAN CLOUD COMPUTING INT'L LIMITED
Copyright © 2016 香港縱然雲(yún)計算國際有限公司HK ZONGRAN CLOUD COMPUTING INT'L LIMITED xvyh.cn Corporation, All Rights Reserved
合作站點: 安全狗