如何防止網站故障

防止網站關閉需要多方面的策略和努力,但能夠降低與停機相關的轉換損失和 SEO 處罰的風險,這就是值得的。

學習目標

閱讀本文後,您將能夠:

  • 瞭解什麼是停機時間以及為什麼它很重要
  • 概述出現停機時間的原因

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是停機時間?

在 Web 上,停機時間是指網站的任何或所有使用者無法使用的一段時間。在停機期間,嘗試存取該網站的使用者可能會被重新導向到錯誤頁面,或者看到由其瀏覽器建立的錯誤頁面。這些停機時間可能會給網站帶來迅速的懲罰,包括轉換損失,甚至搜尋引擎最佳化 (SEO) 排名下降。

網站為什麼會關閉?

  • 託管維護:Web 主機有時必須在網站檔案所在的伺服器上執行維護。此維護有時可能需要停機一段時間。對於一個好的主機,這種維護時間應提前公佈,時間應該最短,並且應該安排在活動少的時間段。
  • 伺服器過載:Web 伺服器一次只能處理這麼多的請求,而流量高峰可能會使伺服器不堪重負,從而阻止使用者存取該網站。在某些情況下,託管公司將使用多租用戶,這意味著他們在單一伺服器上託管多個網站。使用多租用戶,一個網站的流量高峰可能會導致另一個不相關網站產生停機時間。
  • 硬體故障:儘管託管伺服器通常保持在受保護和受控的環境中,但有時該硬體仍可能出現故障。風扇可能會損壞,儲存磁碟可能會損壞,停電或自然災害可能會導致整個資料中心癱瘓。如果沒有備份計畫,這些硬體故障可能會造成持續的停機時間。
  • 惡意攻擊:網站還可能因分散式阻斷服務 (DDoS) 和其他類型的攻擊而離線。DDoS 攻擊旨在故意用流量淹沒站點,以導致阻斷服務。更邪惡的攻擊涉及使用暴力破解或其他方式來存取與該網站相關的網域名稱註冊商或託管帳戶。然後攻擊者使用這個偽造的授權來關閉或修改網站。
  • 程式設計錯誤:網站的功能依賴於正確執行的代碼,即使代碼中的一個錯誤也可能導致網站癱瘓。在滿足某些罕見條件之前,某些 bug 不會被觸發;這些被稱為「邊緣情況」。這些邊緣情況錯誤可能要等到錯誤代碼被推送到網站後的幾個小時甚至幾天后才會出現。
  • 網域過期:當網站的網域名稱註冊到期後,網域名稱註冊商將切斷該網站的 IP 位址和網域名稱之間的連結。一旦發生這種情況,使用者將不能再存取使用該網域名稱的網站。

如何避免停機時間

雖然很難實現 100% 的正常執行時間(即使 Google 和 Facebook 也因各種問題而偶爾遇到停機時間),但網站擁有者可以採取措施盡量縮短網站經歷的停機時間。以下是幾個關鍵策略。

選擇合適的主機和託管方案

雖然計劃外的伺服器維護和硬體故障等問題可能會影響任何 Web 主機,但有些主機的正常執行時間記錄會優於其他主機。可以在網上找到不同託管服務提供者的正常執行時間比較,選擇具有良好正常執行時間記錄的主機將有助於提高網站保持正常執行的機會。選擇提供良好監控服務的主機也很重要;減少停機時間的第一步是知道停機時間的存在。

應避免具有硬性使用限制的託管方案。一些主機將對其使用者套用每日或每月頻寬限制。這意味著即使是不足以使伺服器過載的流量高峰,也可能導致主機暫停帳戶並使網站離線。為了避免停機時間,具有無限頻寬或對頻寬超額實行隨用隨付的託管方案才是最合理的。

一些主機還提供容錯移轉(或「備援」)計畫。這意味著,如果託管該網站的伺服器出現故障,該主機將自動開始從另一台伺服器託管該網站。這是針對與託管相關的停機時間的良好保護。應該注意的是,一個好的容錯移轉計畫將利用不同實體位置的伺服器。如果容錯移轉伺服器與原始主機都位於同一個資料中心,那麼在影響整個資料中心的服務中斷(例如停電)期間,它們將無濟於事。

啟用 DDoS 防護

許多組織在遭受導致他們大量停機的攻擊之後才開始研究 DDoS 防護。可以主動開啟 DDoS 緩解服務,以確保快速解決 DDoS 攻擊並最大限度地減少停機時間。

實行 Web 開發最佳做法

為了最大限度地降低編碼 bug 導致網站癱瘓的風險,開發人員應該採取一些基本的預防措施。使用本地環境進行開發、使用版本控制以及立即測試網站的所有生產變更(包括邊緣情況),將有助於降低因生產 bug 導致網站癱瘓的風險。

選擇正確的網域名稱註冊商

網域名稱過期方面,一些網域名稱註冊商比其他網域名稱註冊商更寬容。最好的註冊商會在網域即將到期時通知客戶以及在到期後提供寬限期,這能夠最大限度地延長正常執行時間。有關做出此決定的更多資訊,請參閱如何選擇最佳網域名稱註冊商

使用 CDN

內容傳遞網路 (CDN) 在網路邊緣快取網站資料,並能夠為使用者提供臨時快取的網站檔案,而無需聯絡主機的來源伺服器。即使在託管伺服器無回應時,CDN 也可幫助從快取中為網站提供服務,從而在短期停機期間內繼續提供服務。

請記住,CDN 只能覆蓋短暫的停機時間間隙,因為快取的網站檔案具有存留時間 (TTL),之後 CDN 將再次聯絡主機伺服器,請求檔案的新複本。此 TTL 通常在 30 秒到 5 分鐘之間。

仔細監控

瞭解停機時間對於緩解問題很重要。除了託管服務提供者提供的監控外,還建議使用單獨的正常執行時間監控服務。這些服務可以在網站因任何原因關閉時向開發人員傳送警示。