- 深入淺出全鏈路壓測
- 吳駿龍
- 871字
- 2024-05-24 17:37:14
1.1.1 互聯網服務的容量保障
提及容量保障,人們很容易聯想到質量保障,兩者同為互聯網服務的技術保障手段,既有聯系又有區別。
● 質量保障:指的是保障系統服務功能正常,系統按照開發人員設計的功能運行。例如,用戶可以通過訂單系統正常下單并結算,系統顯示的訂單信息和金額正確。
● 容量保障:指的是保障系統服務在大量用戶訪問時依然可以正常工作。例如,在“雙11”期間,在大量用戶訪問的情況下,用戶仍可以流暢地在網店上瀏覽和購買商品。
容量是我們生活中很常見的概念,我們喝水的杯子有容量,我們每天上班乘坐的地鐵也有容量。廣義的容量可以定義為:容器能夠容納物質的量。杯子是容器,水是物質,杯子能夠容納多少水就是容量。
從互聯網技術視角出發,我們可以將軟件系統或服務視為容器,將訪問量或業務量視為物質,得到互聯網軟件系統容量的概念,即“單位時間內軟件系統能夠承載的最大業務量”,如圖1.1所示。而容量保障,就是用各種方法保障軟件系統的容量充足,盡力排除容量隱患。

圖1.1 互聯網軟件系統容量的概念示意
容量保障對于軟件系統的穩定運行至關重要,如果一輛貨車核載80kg,而我們給貨車裝載了100kg的貨物,后果可想而知。互聯網企業也曾發生過不少因容量問題引發的系統運行事故,例如,某年春晚某“頭部”電商的“搖一搖”紅包活動短暫宕機,某微博出現熱門事件時的頻繁宕機,這些系統的宕機事故都對用戶造成了巨大影響。
在筆者的職業生涯中,我能夠非常深刻地感受到,容量保障對于一家互聯網公司的重要性和必要性,因為我時刻都在面對以下這些問題。
● 我負責的軟件系統目前運行得很好,但是公司業務增長迅猛,如果用戶的訪問量增加兩倍,系統還能支撐嗎?
● 如果系統無法支撐兩倍的訪問量,系統中哪些服務會首先成為瓶頸?
● 如果對這些系統服務采取擴容措施,需要擴容多少?
● 在大規模促銷活動場景下,如何識別和預防系統的容量風險?
與此同時,隨著互聯網應用復雜度和系統架構復雜度的不斷提升,容量保障的難度逐漸增大,解決上述問題的成本也越來越高。我們迫切希望能有一項技術幫助我們解決根本問題。幸運的是,經過技術人員的不懈努力,全鏈路壓測技術誕生了。