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