容量規(guī)劃是個資源管理的命題,其目標(biāo)是解答運行中的系統(tǒng)需要多少容量以及在什么時候需要這些容量的問題,更簡單的說法就是回答我們需要在什么時候加多少機器的問題。
容量規(guī)劃模型
容量水位是一種常用的容量規(guī)劃模型,其定義為:集群流量 / 集群性能 x 100%
容量水位模型把容量規(guī)劃問題轉(zhuǎn)化為兩個方面,即
1. 系統(tǒng)的能力(集群性能)是多少?通過線上壓測回答
2. 系統(tǒng)的負(fù)荷(集群流量)是多少?通過線上監(jiān)控回答
通過預(yù)定義安全水位、加機器水位等水位線,當(dāng)集群負(fù)荷達(dá)到特定水位線時采取相應(yīng)的措施。
線上壓測
集群性能 = 單機性能 x 集群機器數(shù)
通過線上壓測可以得到單機性能,進(jìn)行線上壓測前需要明確幾個問題
1. 用什么來描述系統(tǒng)的性能?TPS還是網(wǎng)絡(luò)流量,根據(jù)具體業(yè)務(wù)具體分析,關(guān)鍵是它能真正反映實際性能
2. 選取的性能指標(biāo)能夠方便地監(jiān)控嗎?
3. 用什么樣的標(biāo)準(zhǔn)來度量最大性能?比如CPU達(dá)到80%,響應(yīng)時間超過1s
線上監(jiān)控
根據(jù)選取的性能指標(biāo),監(jiān)控當(dāng)前系統(tǒng)的運行情況,記錄其變化趨勢
依賴容量
系統(tǒng)各個部分存在一定的依賴關(guān)系。從業(yè)務(wù)上理解,即最靠近用戶的入口調(diào)用會轉(zhuǎn)化為中間層和底層系統(tǒng)上的調(diào)用。
一定的用戶訪問模式,能夠得到其調(diào)用鏈路上的調(diào)用比例或依賴系數(shù)。故假設(shè)用戶訪問模式基本固定,我們只要設(shè)定(推廣活動前)前端系統(tǒng)的容量目標(biāo),就能推算出其依賴的中間層和底層系統(tǒng)的容量目標(biāo),從而進(jìn)行所有依賴系統(tǒng)的容量規(guī)劃。
容量規(guī)劃是受到業(yè)務(wù)模式或訪問模式影響的,而這種影響是一直變化的,我們需要定期的修正這種變化,才能保證容量規(guī)劃結(jié)果的正確性。