前幾天有個(gè)客戶(hù)需要臺(tái)香港的高并發(fā)服務(wù)器,對(duì)各項(xiàng)要求都不清楚,一味說(shuō)高并發(fā)
所以今天說(shuō)下關(guān)于這方面的問(wèn)題
幾個(gè)概念
網(wǎng)站流量是指網(wǎng)站的訪問(wèn)量,用來(lái)描述訪問(wèn)網(wǎng)站的用戶(hù)數(shù)量以及用戶(hù)所瀏覽的網(wǎng)頁(yè)數(shù)量等指標(biāo),常用的統(tǒng)計(jì)指標(biāo)包括網(wǎng)站的獨(dú)立用戶(hù)數(shù)量、總用戶(hù)數(shù)量(含重復(fù)訪問(wèn)者)、網(wǎng)頁(yè)瀏覽數(shù)量、每個(gè)用戶(hù)的頁(yè)面瀏覽數(shù)量、用戶(hù)在網(wǎng)站的平均停留時(shí)間等。
網(wǎng)站訪問(wèn)量的常用衡量標(biāo)準(zhǔn):獨(dú)立訪客(UV) 和 綜合瀏覽量(PV),一般以日為單位來(lái)衡量和計(jì)算。
獨(dú)立訪客(UV):指一定時(shí)間范圍內(nèi)相同訪客多次訪問(wèn)網(wǎng)站,只計(jì)算為1個(gè)獨(dú)立訪客。
綜合瀏覽量(PV):指一定時(shí)間范圍內(nèi)頁(yè)面瀏覽量或點(diǎn)擊量,用戶(hù)每次刷新即被計(jì)算一次。
PV計(jì)算帶寬
計(jì)算帶寬大小需要關(guān)注兩個(gè)指標(biāo):峰值流量和頁(yè)面的平均大小。
舉個(gè)例子:
假設(shè)網(wǎng)站的平均日PV:10w 的訪問(wèn)量,頁(yè)面平均大小0.4 M 。
網(wǎng)站帶寬 = 10w / (24 *60 * 60)* 0.4M * 8 =3.7 Mbps
具體的計(jì)算公式是:網(wǎng)站帶寬= PV / 統(tǒng)計(jì)時(shí)間(換算到S)*平均頁(yè)面大。▎挝籏B)* 8
在實(shí)際的網(wǎng)站運(yùn)行過(guò)程中,我們的網(wǎng)站必須要在峰值流量時(shí)保持正常的訪問(wèn),假設(shè),峰值流量是平均流量的5倍,按照這個(gè)計(jì)算,實(shí)際需要的帶寬大約在 3.7 Mbps * 5=18.5 Mbps 。
PS:
1. 字節(jié)的單位是Byte,而帶寬的單位是bit,1Byte=8bit,所以轉(zhuǎn)換為帶寬的時(shí)候,要乘以 8。
2. 在實(shí)際運(yùn)行中,由于緩存、CDN、白天夜里訪問(wèn)量不同等原因,這個(gè)是絕對(duì)情況下的算法。
PV與并發(fā)
具體的計(jì)算公式是:并發(fā)連接數(shù) = PV / 統(tǒng)計(jì)時(shí)間 * 頁(yè)面衍生連接次數(shù) * http響應(yīng)時(shí)間 * 因數(shù) / web服務(wù)器數(shù)量;
解釋?zhuān)?/p>
頁(yè)面衍生連接次數(shù): 一個(gè)頁(yè)面請(qǐng)求,會(huì)有好幾次http連接,如外部的css, js,圖片等,這個(gè)根據(jù)實(shí)際情況而定。
http響應(yīng)時(shí)間: 平均一個(gè)http請(qǐng)求的響應(yīng)時(shí)間,可以使用1秒或更少。
因數(shù): 峰值流量 和平均流量的倍數(shù),一般使用5 ,最好根據(jù)實(shí)際情況計(jì)算后得出。
例子:
10PV的并發(fā)連接數(shù): (100000PV / 86400秒 * 50個(gè)派生連接數(shù) * 1秒內(nèi)響應(yīng) * 5倍峰值) / 1臺(tái)Web服務(wù)器 = 289 并發(fā)連接數(shù)
所以,如果我們能夠測(cè)試出單機(jī)的并發(fā)連接數(shù),和 日pv 數(shù),那么我們同樣也能估算出需要web的服務(wù)器數(shù)量。
還有一套通過(guò)單機(jī) QPS計(jì)算 pv 和 需要的web服務(wù)器數(shù)量的方法,目前一些公司采用這種計(jì)算方法,但是其實(shí)計(jì)算的原理都是差不多的。
QPS、PV和需要部署機(jī)器數(shù)量計(jì)算公式(轉(zhuǎn))
術(shù)語(yǔ)說(shuō)明:
QPS = req/sec = 請(qǐng)求數(shù)/秒
【QPS計(jì)算PV和機(jī)器的方式】
QPS統(tǒng)計(jì)方式 [一般使用 http_load 進(jìn)行統(tǒng)計(jì)]
QPS = 總請(qǐng)求數(shù) / ( 進(jìn)程總數(shù) * 請(qǐng)求時(shí)間 )
QPS: 單個(gè)進(jìn)程每秒請(qǐng)求服務(wù)器的成功次數(shù)
單臺(tái)服務(wù)器每天PV計(jì)算
公式1:每天總PV = QPS * 3600 * 6
公式2:每天總PV = QPS * 3600 * 8
服務(wù)器計(jì)算
服務(wù)器數(shù)量 = ( 每天總PV / 單臺(tái)服務(wù)器每天總PV )
【峰值QPS和機(jī)器計(jì)算公式】
原理:每天80%的訪問(wèn)集中在20%的時(shí)間里,這20%時(shí)間叫做峰值時(shí)間
公式:( 總PV數(shù) * 80% ) / ( 每天秒數(shù) * 20% ) = 峰值時(shí)間每秒請(qǐng)求數(shù)(QPS)
機(jī)器:峰值時(shí)間每秒QPS / 單臺(tái)機(jī)器的QPS = 需要的機(jī)器