網站出現Service Unavailable提示怎么辦?
問:為什么我的網站有時會出現“Service Unavailable”的提示,有時候刷新幾下又可以訪問。
答: 出現這種情況是由于您的網站超過了系統資源限制造成的,主要是流量太大或者程序占用資源太多。
1.流量太大
比如您購買的是b002型基礎型主機,該主機的額定流量是15G/月。如果您的網站每月流量在15G,每天流量在0.5G以下,則應該能正常訪問。如果連續(xù)幾天的訪問量上升,流量超過0.5G/天,則該主機屬于超負荷 運行。 超負荷運行情況下,則會出現有時能正常訪問,有時被系統自動停止(Service Unavailable)的情況。 解決辦法是:首先登錄虛擬主機管理中心查看最近的訪問統計和流量統計,看看流量有沒有異常增加的情況,有時站內的個別RAR或者mp3文件被其他網站盜鏈,則會出現流量上升幾十倍的情況。通過我們提供的日志下載功能和訪問統計中的"文件類別"功能進行分析,可以得出是否有盜鏈或者被大量下載。如果是流量自然增長,購買的型號不能滿足要求,則需要對虛擬主機型號進行升級,以獲得更多的流量配額。
2.程序占用資源過多
比如同樣是100人在線的論壇,雷傲論壇所占的資源就是動網論壇所占資源的10倍以上;另外,一些死循環(huán)程序,或者不優(yōu)化的程序(比如1.0版的阿江統計在數據庫太大的情況下)都會占用太多的系統資源,而系統資源明顯是有限的。由于我們的新虛擬主機是采用WINDOWS2003的操作系統,各網站之間是以獨立進程運行的,不會相互影響。
如果一個網站的程序占資源太多或者發(fā)生太多的錯誤,這時,訪問這個網站就會提示:Service Unavailable。一般系統會在30秒左右恢復正常,多刷新幾次就能正常訪問了。
如果經常出現類似的錯誤,請及時優(yōu)化網站程序,或者升級你的虛擬主機至更高的款型,以獲得更多的系統資源。
目前我司虛擬主機控制面板已經開始提供“cpu占用率分析”功能,通過該功能,可以輕易查出具體是哪些文件太占資源。
程序占用資源太多的原因如下(網絡參考文章):
1.有一個或多個ACCESS數據庫在多次讀寫過程中損壞
微軟的MDAC系統在寫入這個損壞的ACCESS文件時,ASP線程處于BLOCK狀態(tài),結果其他線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST(ASP進程)中。
參考解決辦法:
壓縮和修復我的數據庫
下載數據庫文件--[如果是.asp的擴展名,請改為.mdb的擴展名]--用ACCESS打開--選擇工具--數據庫實用工具--壓縮和修復數據庫--[改回.asp的擴展名]--上傳覆蓋原來數據庫文件
2.注冊了不良的Com組件
特別是用VB開發(fā)的ACTIVE X控件,可能導致占用內存使用量不斷增長
參考解決辦法:盡量減少或避免非官方或是客戶要求的不必要的組件
3.多媒體等文件下載占用服務器帶寬
參考解決辦法:停止下載
4.程序問題
需要及時的關閉不再使用的數據庫,以避免一直占用服務器資源 在conn.asp 連接數據庫字符串語句中加入如下 sub endConnection() conn.close set conn=nothing end sub
其它程序問題:把IE選項里 顯示友好HTTP錯誤信息 的勾取消掉,再訪問網站看出現什么錯誤信息,然后再調試
5.上傳重要的數據庫等文件更新,
由于正處于受訪問狀態(tài),可能導致瞬間占用率上升
一般此情況較少,若有出現此情況時,可能有必要先暫停站點,再作更新
6.ACCESS論壇(如動網)大了以后就很容易出現數據庫方面的問題,
當你的論壇數據庫在30M以上,帖子5萬左右,可能就會出現數據庫吃不消的情況
7.建議取消程序中使用的on error resume next這個容錯語句,對錯誤進行調試。
臨時解決辦法:定期刪除多余的數據、壓縮數據庫,限制論壇灌水,甚至限制論壇注冊。如果是動網論壇,可以使用論壇自帶的分表儲存功能,會有較好的效果
比較長遠辦法:更換論壇和數據庫,一般都采用動網sql商業(yè)版本+MSSQL 的方案來解決