網站突發大流量怎麼做預警?

比如雙11活動


謝瑤。

預警是指網站系統運行期間,當各項技術指標超過警戒閾值時,監控系統通過發送報警信息給相關人員的一種監控行為,讓技術人員及時參與,防患於未然。所以預警是網站監控系統應有的功能。

雙11活動是淘寶有計劃的一次營銷活動,雙11活動期間,網站伺服器會比通常時候要增加一些,以使單台伺服器仍然運行在警戒值以下,保證活動順利進行。所以雙11活動從設計角度是不需要預警的。

但是當然因為當天流量太大,必然會有部分伺服器運行超過警戒,觸發報警,所以11.11當天,淘寶技術部(包括支付寶)是高度戒備的,零點活動的開始的時候,技術部燈火通明。

=======以下內容引用自《大型網站技術架構》一書===========

7.1
監控管理

監控數據採集後,除了用作系統性能評估、集群規模伸縮性預測等,還可以根據實時監控數據進行風險預警,並對伺服器進行失效轉移,自動負載調整,最大化利用集群所有機器的資源。

系統報警

伺服器運行正常的情況下,其各項監控指標基本穩定在一個特定水平,如果這些指標超過某個閾值,就意味著系統可能將要出現故障,這時候就需要對相關人員報警,及時採取措施,在故障還未真正發生就將其扼殺在萌芽狀態。

監控管理系統可以配置報警閾值和值守人員的聯繫方式,報警方式除了郵件,即時通訊工具,還可以配置手機簡訊,語音報警,系統發生報警時,工程師即使在千里之外、夜裡睡覺也能及時通知,迅速響應。

失效轉移

除了應用程序訪問失敗時進行失效轉移,監控系統也可以在發現故障的情況下主動通知應用,進行失效轉移。

自動優雅降級

優雅降級是指網站為了應付突然爆發的訪問高峰,主動關閉部分功能,釋放部分系統資源,保證網站核心功能正常訪問的一個手段。淘寶每年一次的雙十一促銷活動就屬於突然爆發的非常規訪問高峰,淘寶的工程師每年都會關閉一部分非核心功能,如評價、確認收貨等功能,保證交易功能的正常進行。

網站在流動計算基礎之上實現自動優雅降級,是網站柔性架構的理想狀態:監控系統實時監控所有伺服器的運行狀況,根據監控參數判斷應用訪問負載情況,如果發現部分應用負載過高,而部分應用負載過低,就會適當卸載低負載應用部分伺服器,重新安裝啟動部分高負載應用,使應用負載總體均衡,如果所有應用負載都很高,而且負載壓力還在繼續增加,就會自動關閉部分非重要功能,保證核心功能正常運行。


munin + Munin for Android


@李智慧 說的已經很完整了,但受邀不得不答。

我說一個比較容易實現的方案組合:cacti+nagios,前者做CPU、磁碟等系統的監控,後者做報警提醒,可以講報警級別分為多級,按級告警。

當然在事前,要做好預案,比如是增加伺服器,還是關閉某些不重要的feature,不再贅述。


推薦閱讀:

鐵路客戶服務中心網站 12306.cn 有哪些地方要改進?
為什麼很多網站的內容儲存用別的域名?有什麼好處?

TAG:PHP | 伺服器 | 網站 | 網站架構 | 網站流量 |