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