聊一聊PV和併發、以及計算web伺服器的數量的方法
幾個概念
網站流量是指網站的訪問量,用來描述訪問網站的使用者數量以及使用者所瀏覽的網頁數量等指標,常用的統計指標包括網站的獨立使用者數量、總使用者數量(含重複訪問者)、網頁瀏覽數量、每個使用者的頁面瀏覽數量、使用者在網站的平均停留時間等。
網站訪問量的常用衡量標準:獨立訪���(UV) 和 綜合瀏覽量(PV),一般以日為單位來衡量和計算。
獨立訪客(UV):指一定時間範圍內相同訪客多次訪問網站,只計算為1個獨立訪客。
綜合瀏覽量(PV):指一定時間範圍內頁面瀏覽量或點選量,使用者每次重新整理即被計算一次。
PV計算頻寬
計算頻寬大小需要關注兩個指標:峰值流量和頁面的平均大小。
舉個例子:
假設網站的平均日PV:10w 的訪問量,頁面平均大小0.4 M 。
網站頻寬 = 10w / (24 *60 * 60)* 0.4M * 8 =3.7 Mbps
具體的計算公式是:網站頻寬= PV / 統計時間(換算到S)*平均頁面大小(單位KB)* 8
在實際的網站執行過程中,我們的網站必須要在峰值流量時保持正常的訪問,假設,峰值流量是平均流量的5倍,按照這個計算,實際需要的頻寬大約在 3.7 Mbps * 5=18.5 Mbps 。
PS:
1. 位元組的單位是Byte,而頻寬的單位是bit,1Byte=8bit,所以轉換為頻寬的時候,要乘以 8。
2. 在實際執行中,由於快取、CDN、白天夜裡訪問量不同等原因,這個是絕對情況下的演算法。
PV與併發
具體的計算公式是:併發連線數 = PV / 統計時間 * 頁面衍生連線次數 * http響應時間 *因數 / web伺服器數量;
解釋:
頁面衍生連線次數: 一個頁面請求,會有好幾次http連線,如外部的css, js,圖片等,這個根據實際情況而定。
http響應時間: 平均一個http請求的響應時間,可以使用1秒或更少。
因數: 峰值流量 和平均流量的倍數,一般使用5 ,最好根據實際情況計算後得出。
例子:
10PV的併發連線數: (100000PV / 86400秒 * 50個派生連線數 * 1秒內���應 * 5倍峰值) / 1臺Web伺服器 = 289 併發連線數
所以,如果我們能夠測試出單機的併發連線數,和 日pv 數,那麼我們同樣也能估算出需要web的伺服器數量。
還有一套通過單機 QPS計算 pv 和 需要的web伺服器數量的方法,目前一些公司採用這種計算方法,但是其實計算的原理都是差不多的。
QPS、PV和需要部署機器數量計算公式(轉)
術語說明:
QPS = req/sec = 請求數/秒
【QPS計算PV和機器的方式】
QPS統計方式 [一般使用 http_load 進行統計]
QPS = 總請求數 / ( 程序總數 * 請求時間 )
QPS: 單個程序每秒請求伺服器的成功次數
單臺伺服器每天PV計算
公式1:每天總PV = QPS * 3600 * 6
公式2:每天總PV = QPS * 3600 * 8
伺服器計算
伺服器數量 = ( 每天總PV / 單臺伺服器每天總PV )
【峰值QPS和機器計算公式】
原理:每天80%的訪問集中在20%的時間裡,這20%時間叫做峰值時間
公式:( 總PV數 * 80% ) / ( 每天秒數 * 20% ) = 峰值時間每秒請求數(QPS)
機器:峰值時間每秒QPS / 單臺機器的QPS = 需要的機器
例子:每天300w PV 的在單臺機器上,這臺機器需要多少QPS?
( 3000000 * 0.8 ) / (86400 *0.2 ) = 139 (QPS)
例子:如果一臺機器的QPS是58,需要幾臺機器來支援?
139 / 58 = 3