概述
術(shù)業(yè)有專攻,每一個職業(yè)或行業(yè)都會有其專業(yè)的地方,包括系統(tǒng)架構(gòu)師。作為一名專業(yè)的系統(tǒng)架構(gòu)師,掌握專業(yè)的術(shù)語及其背后的含義,是極其必要的,是專業(yè)的體現(xiàn),也是基本的素養(yǎng)。
常用術(shù)語
系統(tǒng)容量與系統(tǒng)容量預(yù)估
系統(tǒng)容量指系統(tǒng)所能承受的最大訪問量,而系統(tǒng)容量預(yù)估則是在峰值流量到達(dá)之前系統(tǒng)架構(gòu)師所給出的若干技術(shù)指標(biāo)值。常用的技術(shù)指標(biāo)值有: QPS、 PV、 UV、并發(fā)量、帶寬、 CPU使用率、內(nèi)存硬盤占用率等。系統(tǒng)容量預(yù)估是架構(gòu)師必備的技能之一。
QPS
QPS, Query Per Second,每秒查詢量。在分布式系統(tǒng)中 QPS 的定義是, 單個進(jìn)程每秒請求服務(wù)器的成功次數(shù)。QPS 一般可以通過壓力測試工具測得,例如 LoadRunner、Apache JMeter、NeoLoad、 http_load 等。
QPS= 總請求數(shù) / 進(jìn)程總數(shù) / 請求時間 = 總請求數(shù) / ( 進(jìn)程總數(shù) * 請求時間 )
UV
Unique Visitor, 獨立訪客數(shù)量,指一定時間范圍內(nèi)站點訪問所來自的 IP 數(shù)量。同一 IP 多次訪問站點只計算一次。 一般以 24 小時計算。
PV
Page View, 頁面訪問量, 指一定時間范圍內(nèi)打開或刷新頁面的次數(shù)。一般以 24 小時計算。
系統(tǒng)容量預(yù)估基本計算
帶寬計算
平均帶寬的計算公式為:
平均帶寬 = 總流量數(shù)(bit) / 產(chǎn)生這些流量的時長(秒)=(PV* 頁面平均大小 *8) / 統(tǒng)計時間(秒)
公式中的 8 指的是將 Byte 轉(zhuǎn)換為 bit,即 8b/B,因為帶寬的單位是 bps(比特率),即bit per second,每秒二進(jìn)制位數(shù),而容量單位一般使用 Byte。
假設(shè)某站點的日均 PV 是 10w,頁面平均大小 0.4 M,那么其平均帶寬需求是:
平均帶寬=(10w*0.4M*8)/(60*60*24)=3.7Mbps
以上計算的僅僅是平均帶寬,我們在進(jìn)行容量預(yù)估時需要的是峰值帶寬,即必須要保證站點在峰值流量時能夠正常運轉(zhuǎn)。 假設(shè),峰值流量是平均流量的5倍, 這個5倍稱為峰值因子。 按照這個計算,實際需要的帶寬大約在 3.7 Mbps * 5=18.5 Mbps 。
帶寬需求 = 平均帶寬 * 峰值因子
并發(fā)量計算
并發(fā)量,也稱為并發(fā)連接數(shù),一般是指單臺服務(wù)器每秒處理的連接數(shù)。平均并發(fā)連接數(shù)的計算公式是:
平均并發(fā)連接數(shù) = (站點 PV* 頁面平均衍生連接數(shù)) / (統(tǒng)計時間 *web 服務(wù)器數(shù)量)
頁面平均衍生連接數(shù)是指,一個頁面請求所產(chǎn)生的 http 連接數(shù)量,如對靜態(tài)資源的 css、 js、 images 等的請求數(shù)量。 這個值需要根據(jù)實際情況而定。
例如,一個由5臺web主機構(gòu)成的集群,其日均PV是50w,每個頁面平均30個衍生連接,則其平均并發(fā)連接數(shù)為:
平均并發(fā)量=(50w*30)/(60*60*24*5)=35
若峰值因子為 6,則峰值并發(fā)量為:
峰值并發(fā)量=平均并發(fā)量*峰值因子=35*6=210
服務(wù)器預(yù)估量
根據(jù)往年同期活動獲得的日均 PV、并發(fā)量、頁面衍生連接數(shù),及公司業(yè)務(wù)擴展所帶來的流量增長率,就可以計算出服務(wù)器預(yù)估值。注意,今年的頁面衍生連接數(shù)與往年的可能不一樣。
服務(wù)器預(yù)估值 = 站點每秒處理的總連接數(shù) / 單機并發(fā)連接數(shù) = (PV* 頁面衍生連接數(shù)*(1 + 增漲率) ) / 統(tǒng)計時間 /單機并發(fā)連接數(shù)
注:統(tǒng)計時間,即 PV 的統(tǒng)計時間,一般為一天
轉(zhuǎn)載:https://www.toutiao.com/i6848250679870358024/