Close

By admin 2023-02-12 In 網頁設計

如何排除“Service Temporarily Unavailable”?

您的網站是否遇過“503 Service Unavailable”/“Service Temporarily Unavailable”之類的錯誤訊息?

這個錯誤訊息被稱之為「503 Error」,一般來說,出現“Service Temporarily Unavailable”錯誤訊息多半是因為「同一時間多人存取同一個網站」造成了流量超限引起的錯誤。
也就是說,當這個錯誤訊息出現時,網站訪客就無法瀏覽頁面。假如您是網路電商,消費者無法購買商品、假如您是閱讀收費網站的寫手,讀者無法閱讀您的文章。換句話說,當網站遇到“Service Temporarily Unavailable”,您的商機就會掉狠大・・・!

如果您的網站經常發生“Service Temporarily Unavailable”,該如何應對?
關鍵就在「正確選擇主機」。

一、網路行銷不如意,原因是“Service Temporarily Unavailable”

前文提到,當網頁出“Service Temporarily Unavailable”之類的錯誤訊息時,訪客就無法瀏覽網站的內容。
當網站無法瀏覽時,會產生以下負面結果:

  1. 因網頁無法瀏覽,因此網站也無法透過Twitter或Facebook等社群媒體分享給更多的網友。
  2. 因網頁無法瀏覽,消費者無法在網路上購物(如果是網路電商)。
  3. 網路購物時,資料填寫到一半,網頁突然打不開,無法下單購買(如果是網路電商)。
  4. 因網頁無法瀏覽,被誤解為「這網站大概關站了吧!」,訪客再也不來瀏覽(如果訪客網路知識不足)

其中影響最嚴重的莫過於對“網路集客”的殺傷力
尤其是當自己的網站正成為Twitter或Facebook等社群媒體討論的話題時,有興趣的網友點擊網站一看,就遇到“Service Temporarily Unavailable”,不但倒盡胃口,好不容易有個宣傳網站的良機也白白尚失掉。

行動網路時代,網民每天接收無數的網路資訊並點擊無數的網站,絕大多數的網站訪問過一遍若沒有留下印象,通常不會再訪第二次。
因此網站發生“Service Temporarily Unavailable”錯誤訊息是大忌。
事實上,“Service Temporarily Unavailable”錯誤訊息通常是網站瞬間無法打開,同一時間存取同一個網站的人數一旦減少,網站就可以恢復正常
只是,網路集客是分秒必爭的戰場,無法容許“Service Temporarily Unavailable”錯誤訊息的發生。

二、為何會發生“Service Temporarily Unavailable”?

原來是這兩個因素造成的!

出現“Service Temporarily Unavailable”錯誤訊息是下面這兩個因素造成的。

  1. “瞬間”多人造訪同一個網站
  2. 需要花相當時間讀取網頁內容,因此限制“入場人數”,造成“塞車”狀態

首先就「1」做更進一步説明:
雖然許多主機商號稱”不限流量“,但是對瞬間瀏覽人次做上限封頂的限制。一旦網站訪客瞬間湧來時,大多數的網站很可能立刻掛掉,因此瞬間可以承受多少流量才是最重要的。若主機商設定「同時在線人數」100人,第101位訪客就會被”限制入場“(如下圖)。

接下來說明「2」:因網站結構因素,需要花較多的時間讀取網頁內容,因此發生許多訪客無法順利”入場“的”塞車現象“。

超過「同時在線人數」上限,導致網站發生“Service Temporarily Unavailable”錯誤訊息,而這些「同時在線人數」是已經讀取網頁內容的人次。
一旦網站回復正常,基本上就不會有數據從伺服器傳送出去,因此已經讀取網頁的訪客就不會影響「同時在線人數」
(※但是,當訪客繼續瀏覽其他網頁時,伺服器又開始傳送數據,就會影響「同時在線人數」。
例如,以高速公路的收費站為例:

假如是一個簡潔的網站架構,讀取時間短,就像無人的「ETC收費」
假如網站架構複雜,需要花更多時間讀取,就像人工收費

「ETC收費」不容易塞車,「人工收費」比較容易塞車。
根據網頁寫法,有「ETC型網站」(可快速讀取網頁的網站)與「人工收費型網站」(網頁讀取速度較慢的網站)兩種

所謂「人工收費型網站」,點擊一個頁面就會叫出許多的檔案與程式,需要頻繁啟動資料庫的網站。
最具代表性的就是以非常受歡迎的“WordPress”(後台管理平台)建構的網站。

WordPress是使用PHP開發的平台, PHP程序通常比靜態HTML需要更多的執行時間。動態網站的每個頁面都是從存儲在數據庫或外部文件中的信息生成的。因此,與完全使用HTML構建的網站相比,需要更多的時間加載。
不僅是以WordPress架構的網站,通過資料庫所架設的的”動態網站“都比較容易發生”限制入場“人數,因此容易發生“Service Temporarily Unavailable”錯誤訊息。
如何將「人工收費型網站」改成「ETC型網站」?使用「 快取」(cache)的技術,可改善回應時間及減少系統負載。
例如「WP Super Cache」這個外掛插件可以生成靜態網頁,改善回應時間及減少系統負載。
此外,減少圖片使用數量,圖片優化等方法,都可以縮短網頁讀取時間。

『503 Erroe』、並非主機掛掉了!

看到網頁出現“Service Temporarily Unavailable”錯誤訊息,很多人會以為「網站掛掉了!」,事實上網站出現“Service Temporarily Unavailable”錯誤訊息,並非網站掛點

「同時在線人數」超過上限,對主機造成過多的負擔,因此限制更多的人進入網站,這是主機商所採取的自我防衛措施

但是,為什麼主機商要設定「同時在線人數」上限以減輕主機的負擔?

原因是主機商在商言商,不做不賺錢的生意・・・!

主機商的”專用虛擬主機“的賺錢法則?

一般來講,“Service Temporarily Unavailable”錯誤訊息通常發生在使用「共用虛擬主機」的網站。

主機商提供「共用主機」與「專用主機」兩種方案。共用虛擬主機的年費大約3600~4500之間。
(※雲端及VPS等不在本貼文討論範圍)

所謂共用虛擬主機就是「1台主機同時出租給許多用戶使用」,因此費用相對較低
一般流量不多的中小型企業網站使用「共用虛擬主機」應該綽綽有餘

流量大的網站並不適合與其他用戶共用一台虛擬主機
事實上每個月有數十萬、數百萬流量的網站畢竟不多。但,Twitter與Facebook等社群媒體的問世,網路世界產生了巨大的變化。當網址貼到Twitter或Facebook等社群媒體與網友分享,瞬間就會有大量的訪客流入網站。

在還沒有Twitter與Facebook等社群媒體的時代,縱使每月有數十萬、數百萬流量的網站,也不太可能瞬間締造出500或1,000的訪客人數。
Twitter與Facebook等社群媒體的到來,連個人規模的小型網站都有可能在瞬間爆發驚人的流量。
要是流量瞬間大增,對主機造成相當大的負擔,影響到主機的正常運作。
許多網站共用一個主機的情況,要是其中有一個網站流量過大,就會影響到其他網站,因此主機商為了避免客訴,必須限制每個網站的流量上限。

三、越是“超便宜”的虛擬主機越不可靠的理由

前面提到,使用共用虛擬主機的話,要是其中某個網站的流量特別大,其他網站的網頁速度就會受到影響。
共用虛擬主機就好比分租套房,一整棟出租的收入假設是20萬,若隔出10戶,以月租3.5萬分租出去,收入就可以增加15萬,這就是主機商的盤算。對房客而言,沒有租整棟的必要,住在公寓大廈,每月可以省下16.5萬,這就是為什麼大多數網站都使用共用虛擬主機的道理。

1台の主機同時出租給許多用戶使用,就必須對每個用戶的網站設定「同時在線人數」的上限。若因某一用戶流量過大影響到其他網站的正常運作,就會降低用戶對主機商的信頼。

・・・但是如果自己的流量真的很大時,還真不希望流量被限制。

苦心經營的網站,好不容易累積了不少忠實用戶,絕不想因主機商的流量限制而損失商機呢!

千萬別「省小錢花大錢」。機會只有一次,錯過了就永遠不會再來。

「只考慮如何降低成本,可能會流失大好商機」。要是自己在Facebook有1萬的粉絲,就表示網站瞬間流量有爆衝到1000人的可能,若使用共用虛擬主機,網站就有可能出現“Service Temporarily Unavailable”錯誤訊息,也就是增加商機流失的風險。
這裡要強調的是,並非便宜的共用虛擬主機不好,要斟酌自己網站的流量選擇合宜的主機。

四、網站經常發生“Service Temporarily Unavailable”!

斷送商機卻不自知的理由

讀了這篇貼文,也許有許多讀者覺得「自己的網站從不曾發生”Service Temporarily Unavailable”錯誤訊息
事實上,也許不是「不曾看過」,「只是沒有發現」罷了。因為Service Temporarily Unavailable”錯誤訊息通常是一瞬間,若不是24小時掛在網站上,就不見得有機會遇到。
「咦?可是我的網站有放入Google Analytics追蹤碼・・・」
只可惜因「同時在線人數」超過上限造成Service Temporarily Unavailable”的錯誤訊息並不會紀錄在Google Analytics的流量分析裡面。

因為當網頁出現Service Temporarily Unavailable”錯誤訊息時,表示訪客無法讀取網頁,因此放入網站的Google Analytics追蹤碼當然無法正常計算流量

 

五、避免發生“Service Temporarily Unavailable”的三個方法

在向大家介紹如何避免發生“Service Temporarily Unavailable”錯誤訊息的方法之前,先複習一下“Service Temporarily Unavailable”發生的原因。

發生“Service Temporarily Unavailable”錯誤訊息的兩個原因:

  1. “瞬間”多人造訪同一個網站
  2. 需要花相當時間讀取網頁內容,因此限制“入場人數”,造成“塞車”狀態
  1. 不租用只強調便宜的共用虛擬主機
  2. 考慮使用「專用主機」
  3. 使用「快取」技術、減少圖片的使用以改善網頁讀取的速度

對策1:不使用只強調便宜的共用虛擬主機

要避免“Service Temporarily Unavailable”錯誤訊息發生,最有效的發法就是避免使用只強調便宜的共用虛擬主機。
理由很簡單。
便宜的共用虛擬主機因同時租用給許多用戶使用,一般比較有良心的主機商會調整同一主機的流量以期讓不同用戶分攤相同的流量與負荷,也會限制同一虛擬主機上的網站數量,但有大部分租金便宜的主機商是能塞多少算多少。
專用主機,就表示用戶完全占有一台主機,不會受到其他用戶的流量波及。
專用主機比一般共用主機價格貴上好幾倍。
要是覺得成本太高有點吃不消,可以考慮使用品質穩定,頻寬充裕的共用虛擬主機。
主機若品質穩定,頻寬充裕,就能快速處理訪客的網頁讀取時間,就會減少“限制入場”的窘境發生,“Service Temporarily Unavailable”錯誤訊息也比較不易發生

對策2:考慮使用「專用主機」

使用專用主機是避免“Service Temporarily Unavailable”錯誤訊息發生最有效的辦法。
專用主機,顧名思義表示用戶完全占有一台主機。
沒有其他用戶(網站)和你同住在一個屋簷下,因此不會因其他用戶流量爆衝而受到波及的情況發生。
此外,專用主機不會因為過多的同時在線人數而導致網站掛點。

要是每月花數萬元在廣告費上,卻使用年租費數千元的虛擬主機,花錢買廣告將流量導入網站,卻導致“Service Temporarily Unavailable”錯誤訊息發生,簡直是本末倒置。

此外,在前文提過,在這個社群媒體時代,將一篇貼文的網址分享在社群媒體,就有可能瞬間衝高流量。因此選擇好的主機,是一種保險、是對未来的投資。尤其是對大型電商而言,網路中段一秒都可能造成數以萬計的財務損失。

 

對策3:使用「快取」技術、減少圖片的使用以改善網頁讀取速度

前文提過,因網頁寫法的不同,有些網頁需要花較多的時間讀取,因此需要“限制入場人數”會發生“Service Temporarily Unavailable”錯誤訊息
若是使用WordPress架設的網站,可安裝加快網站開啟的一種插件:「WP Super Cache」。它的原理是將動態產生的網頁轉為靜態的html檔,因為是靜態網頁,所以開啟速度快,透過Gzip壓縮後,檔案更小,能帶給使用者和搜尋引擎更好的瀏覽體驗,最大的好處就是減低WordPress網站所耗費的伺服器資源,降低伺服器負載。

此外,圖片過多的網頁,讀取速度也會變慢。盡量減少圖片檔的使用量,縮小圖片尺寸,圖片經過壓縮後再上傳,或是圖片放在另一台主機,這些都是加快網頁速度的方法。

網頁讀取數度是決定Google 搜尋排名的一項重要因素,因此就SEO考量,改善網頁載入速度刻不容緩。
“大多數網站都在載入期間失去半數訪客”。Google提供的PageSpeed Insights 可以測試您的網站在行動裝置上的載入速度。

 

六、總結

大部分的人以為網頁設計、使用者體驗、購物車功能等是經營網站最重要的事,其實要讓網站正常運作,“主機”才是扮演著關鍵性的角色。
主機之於網站,就像是大腦之於人,若主機不穩定,網站也就無法正常運作。

到底是與其他用戶分享虛擬主機,還是花更多錢使用專用主機?
配合自己網站流量選擇合宜的方案,才不至於讓網站發生掛點的憾事。