耗資源
何謂耗資源(客戶程序故障)?
即程序占用 CPU 及內存過多,是對資源的一種浪費??蛻羰褂锰摂M主機時程序編寫的不合理、錯誤嚴重,造成服務器負載急劇上升,極大的影響了正??蛻舻氖褂茫褪呛馁Y源(客戶程序故障)。耗資源(客戶程序故障)分為耗用 CPU 資源和內存資源二種。
為什么會出現(xiàn)耗資源(客戶程序故障)?
· 程序編寫有問題(一般為 ASP 程序變量沒有清空)。
· 數(shù)據(jù)庫調用頻繁(常見的是 Access 數(shù)據(jù)庫問題)。
· 由于訪問量或流量過大導致的耗內存問題引起的耗資源(客戶程序故障)(此情況一般為大流量主機)。
耗資源(客戶程序故障)的影響。
· 影響較輕的,會使單個客戶網站訪問慢。
· 嚴重的會使服務器宕機,服務器上的所有網站無法訪問。
耗資源(客戶程序故障)處理方法?
通過觀察程度客戶耗資源(客戶程序故障)的程度,進行處理:
· 程度較輕:重啟程序池或站點。
· 程度較重:關閉整個站點。
耗資源(客戶程序故障)客戶的解決辦法?
發(fā)生占用資源過大問題被關停后,需要排查超額占用資源的具體鏈接和文件,下面介紹如何排查。
1. 查看日志,下圖為示例:
2. 具體排查方法:
· 站點在關停后是沒有訪問日志的,因此需要查看關停之前的1-2分鐘的訪問日志。
· 看服務器響應請求的時間,就是訪問日志的最后一列,這里的時間單位是微秒,例如上圖的示例中,訪問時間不到一秒(1秒=1000000微秒),一般訪問時間不應超過3秒(3000000微秒),訪問時間長同樣會導致并發(fā)訪問量過大,適當?shù)膬?yōu)化程序可以減少服務器的具體響應時間。具體訪問的文件也在網站日志中有展示。如上圖,如果網站訪問日志中的最后一列超過3000000,也就是3秒,則需要檢查和優(yōu)化訪問的具體文件,如上圖的 test.php。
3. 如果大量的訪問來自同一 IP,或是同一 IP 段,網站則可能是被攻擊了。
4. 在瀏覽器種類這一列,如果有 Baidu,Google,Sogou,360 等字樣,則表示是有搜索引擎在訪問網站,如果影響網站可以配置 robots.txt 文件來禁止搜索引擎訪問網站。
耗資源(客戶程序故障)與大流量的區(qū)別。
· 大流量客戶:進行大量的圖片下載、廣告互換、聊天等工作,造成帶寬嚴重占用。
· 耗資源(客戶程序故障)客戶:運行自己網站程序,造成服務器負載急劇上升,造成服務器無法正常服務。
· 區(qū)別在與大流量客戶是網絡帶寬方面,而耗資源(客戶程序故障)客戶是對服務器正常運行方面。