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