Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 剖析Service Unavailable的原因

剖析Service Unavailable的原因

日期:2017/2/8 10:21:23      編輯:關於服務器

一、如果出現“Service Unavailable”的提示,刷新幾下又可以訪問。

出現這種情況是由於您的網站超過了iis限制造成的

由於2003的操作系統在提示IIS過多時並非像2000系統提示“鏈接人數過多”,而是提示"ServiceUnavailable",出現這種情況是由於網站超過了系統資源限制造成的,主要是程序占用資源太多。

比如同樣是100人在線的論壇,雷傲論壇所占的資源就是PW論壇所占資源的10倍以上;另外,一些死循環程序,或者不優化的程序都會占用太多的系統資源,而系統資源明顯是有限的。不過WINDOWS2003的操作系統,各網站之間是以獨立進程運行的,不會相互影響。

如果一個網站的程序占資源太多或者發生太多的錯誤,系統日志就會提示:“應用程序池'xxx'被自動禁用,原因是為此應用程序池提供服務的進程中出現一系列錯誤,或者提示:應用程序池'xxx'超過了其作業限制設置。這時,訪問這個網站就會提示:ServiceUnavailable。一般系統會在30秒左右恢復正常,多刷新幾次就能正常訪問了。

另外,如果你的網站當前訪問人數過多,超過了系統的iis連接數限制,也會出現ServiceUnavailable的提示(win2k主機下出現連接過多就會提示:連接過多,請稍後再試;而win2003的主機剛直接提示:ServiceUnavailable)

二、沒有限制IIS連接,還是遭遇Service Unavailable

多見於使用ACCESS數據庫的網站

一般使用windows2003IIS6的用戶可能這個問題一直正常的系統,突然有一個網站打不開了
提示:ServiceUnavailable但這個網站並沒有限制IIS連接數。然後馬上影響到了別的網站,不到一會,其他的網站也全變成了ServiceUnavailable
這是什麼原因呢?//本文來自www.45it.com
我們分析後可以知道,還是MS的老問題。ACCESS引擎當了。用服務器醫生的文件醫生修復,查看修復結果時會發現一些文件引起ACCESS引擎“災難性故障”及“未將對象引用設置到對象的實例”的錯誤。通過文件醫生修復後,系統才會恢復正常。

三、浏覽一個WindowsSharePointServicesWeb站點時,提示:ServiceUnavailable

1.MicrosoftInternet信息服務(IIS)6.0中沒有正確地配置用於虛擬服務器的應用程序池,就可能會發生此問題。

解決方案

要解決此問題,按照下列步驟操作:1.驗證是否已為虛擬服務器配置了應用程序池。默認的應用程序池是MSSharePointPortalAppPool。

請按照下列步驟來確定虛擬服務器正在使用的應用程序池。

a.單擊“開始”,指向“管理工具”,然後單擊“Internet信息服務(IIS)管理器”。
b.展開“ServerName”,展開“Web站點”,右鍵單擊虛擬服務器,然後單擊“屬性”。
c.單擊“主目錄”選項卡。為虛擬服務器配置的應用程序池列在“應用程序池”框中。
d.單擊“確定”。

2.驗證應用程序池帳戶使用的密碼是否正確。IIS不會自動輪詢ActiveDirectory目錄服務中的密碼更改。如果應用程序池帳戶是一個域帳戶,其密碼已過期,則在為此帳戶重新指定一個新密碼後,您可能會收到本文“症狀”部分所描述的錯誤信息。

3.驗證應用程序池帳戶是服務器上的IIS_WPG組和STS_WPG組的成員。

4.重新啟動IIS以回收應用程序池

ServiceUnavailable”出現的原因

ServiceUnavailable的出現一般是資源不足,如IIS、CPU或內存等。

我們的所有虛擬主機均不限制IIS,因此可以排除IIS不足。

我司所有服務器操作系統均為windows2003,有個很關鍵的東西就是“應用程序池”

一般情況下為30-50個站共用一個程序池,這個程序池可以簡單理解為資源庫,即這30-50個站共用這塊資源。我們限定一個程序池的CPU占用為60%,內存使用為200M。

如果這個資源被其中一個站用完,則程序池就會停止,所有使用這個程序池的站就會出現“ServiceUnavailable”資源不足的提示,直到該程序池被重新啟動。

大多數情況下,60%的CPU和200M內存完全足夠使用;如果出現垃圾程序或遇到攻擊,則可能出現CPU急速上升或內存大量使用,這個是大部分“ServiceUnavailable”出現的原因。從目前我們監測的情況看,大部分是CPU占用在90%-100%之間出現的。

1、出現“ServiceUnavailable”怎麼辦?

我們自主開發了一套專門監視並修復IIS的程序,每隔10分鐘自動檢查一次IIS,如果發現程序池停止,就會重新啟動。因此一旦出現“ServiceUnavailable”,最多不超過10分鐘,就會自動修復,大多數情況下只需要2-5分鐘。其他大部分公司都沒有監控程序,則只能手工修復,一般持續時間為2-6小時才能發現並啟動。

2、頻繁出現“ServiceUnavailable”怎麼辦?

如果頻繁出現了這個提示,則表明其中一個和您共用資源的站出了問題,請聯系我們的技術員進行排查。

3、出現“ServiceUnavailable”是服務器問題嗎?

很多人都認為是服務器不穩定的問題,其實不然。如果是服務器問題,不會出現“ServiceUnavailable”的提示,而是直接癱瘓掉,連FTP也上不去。

出現這個是因為有站消耗了大量資源,服務器的資源始終是有限的,如果長期超過設置的值,則服務器會自動停止這個程序池,防止影響其他程序池的用戶。

Copyright © Windows教程網 All Rights Reserved