服務(wù)器并發(fā)量估算公式和計(jì)算方法
最近需要對再次對服務(wù)器進(jìn)行壓力測試,這里整一下最近學(xué)習(xí)到的估算方案和估算方式。以下估算方式?jīng)]有考慮類似于秒殺這種極端情況。
并發(fā)值估算
1.1 經(jīng)典公式
一般來說,利用以下經(jīng)驗(yàn)公式進(jìn)行估算系統(tǒng)的平均并發(fā)用戶數(shù)和峰值數(shù)據(jù)
- 1)平均并發(fā)用戶數(shù)為 C = nL/T
- 2)并發(fā)用戶數(shù)峰值 C‘ = C + 3*根號C
C是平均并發(fā)用戶數(shù),n是login session的數(shù)量,L是login session的平均長度,T是值考察的時(shí)間長度
C'是并發(fā)用戶數(shù)峰值
如用外賣點(diǎn)餐APP套入這個(gè)公式計(jì)計(jì)算下并發(fā)用戶數(shù)100W用戶下并發(fā)用戶數(shù)大致范圍:
假設(shè)外賣APP有100W個(gè)用戶,而日活用戶假設(shè)占12.5%即12.5W個(gè)日活用戶,而每個(gè)日活用戶打開APP到點(diǎn)餐平均時(shí)間大概為5分鐘,而假設(shè)早上8點(diǎn)到晚上12點(diǎn)都會有用戶使用該APP。則可以計(jì)算出一個(gè)值:
平均并發(fā)用戶數(shù)C=125000*5/16*60=651 并發(fā)用戶數(shù)峰值C`=651+3*根號 651=726
上面即為經(jīng)典公式計(jì)算出的并發(fā)用戶數(shù),但看起來和實(shí)際情況可能有差異。
作為外賣APP大部分人都會在高峰期進(jìn)行點(diǎn)餐,所以對于外賣APP這類應(yīng)該單獨(dú)進(jìn)行考慮。
我們采用2/8原則來估算并發(fā)用戶數(shù),即80%的用戶數(shù)會在高峰期點(diǎn)餐,而高峰期設(shè)定為11-12,17-19點(diǎn)一共5個(gè)小時(shí),在這種情況下估算并發(fā)用戶數(shù):
平均并發(fā)用戶數(shù)C=125000*5*0.8/5*60=1666 并發(fā)用戶數(shù)峰值C`=1666+3*根號 1666=1788
1.2通用公式
對絕大多數(shù)場景,可以用(用戶總量/統(tǒng)計(jì)時(shí)間)*影響因子(一般為3)來進(jìn)行估算并發(fā)量。
比如,以乘坐地鐵為例子,每天乘坐人數(shù)為5萬人次,每天早高峰是7到9點(diǎn),晚高峰是6到7點(diǎn),根據(jù)8/2原則,80%的乘客會在高峰期間乘坐地鐵,則每秒到達(dá)地鐵檢票口的人數(shù)為5000080%/(36060)=3.7,約4人/S,考慮到安檢,入口關(guān)閉等因素,實(shí)際堆積在檢票口的人數(shù)肯定比這個(gè)要大,假定每個(gè)人需要3秒才能進(jìn)站,那實(shí)際并發(fā)應(yīng)為4人/s3s=12,當(dāng)然影響因子可以根據(jù)實(shí)際情況增大!
所以物聯(lián)網(wǎng)設(shè)備其實(shí)是可以考慮為通用設(shè)備。
在比較極端的情況下考慮,100萬個(gè)設(shè)備其中95%均為日活設(shè)備即95W,且假設(shè)其中80%的設(shè)備都會在3個(gè)小時(shí)內(nèi)訪問服務(wù)器(高峰期),則可以推算并發(fā)設(shè)備數(shù)。
950000*0.8/(3*60*60)=70/s
因物聯(lián)網(wǎng)設(shè)備的不確定性較高,我們將影響因子設(shè)置為5
.70*5=350 即活躍設(shè)備數(shù)在每秒為350個(gè)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。