一、經(jīng)典公式1:
?? 一般來說,利用以下經(jīng)驗公式進行估算系統(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是值考察的時間長度
??? C’是并發(fā)用戶數(shù)峰值
??舉例1
假設(shè)系統(tǒng)A,該系統(tǒng)有3000個用戶,平均每天大概有400個用戶要訪問該系統(tǒng)(可以從系統(tǒng)日志從獲得),對于一個典型用戶來說,一天之內(nèi)用戶從登陸到退出的平均時間為4小時,而在一天之內(nèi),用戶只有在8小時之內(nèi)會使用該系統(tǒng)。
? 那么,
??平均并發(fā)用戶數(shù)為:C = 400*4/8 = 200
??并發(fā)用戶數(shù)峰值為:C‘ = 200 + 3*根號200 = 243
? 舉例2
某公司為其170000名員工設(shè)計了一個薪酬系統(tǒng),員工可進入該系統(tǒng)查詢自己的薪酬信息,但并不是每個人都會用這個系統(tǒng),假設(shè)只有50%的人會定期用該系統(tǒng),這些人里面有70%是在每個月的最后一周使用一次該系統(tǒng),且平均使用系統(tǒng)時間為5分鐘。
? 則一個月最后一周的平均并發(fā)用戶數(shù)為(朝九晚五):
? n = 170000*0.5*0.7/5 = 11900
? C= 11900*5/60/8 = 124
? 吞吐量計算為:F = Vu * R / T 單位為個/s
??? F為事務(wù)吞吐量,Vu為虛擬用戶數(shù)個數(shù),R為每個虛擬用戶發(fā)出的請求數(shù),T為處理這些請求所花費的時間
二、通用公式2:
? 對絕大多數(shù)場景,我們用(用戶總量/統(tǒng)計時間)*影響因子(一般為3)來進行估算并發(fā)量。
? 比如,以乘坐地鐵為例子,每天乘坐人數(shù)為5萬人次,每天早高峰是7到9點,晚高峰是6到7點,根據(jù)8/2原則,80%的乘客會在高峰期間乘坐地鐵,則每秒到達地鐵檢票口的人數(shù)為50000*80%/(3*60*60)=3.7,約4人/S,考慮到安檢,入口關(guān)閉等因素,實際堆積在檢票口的人數(shù)肯定比這個要大,假定每個人需要3秒才能進站,那實際并發(fā)應(yīng)為4人/s*3s=12,當然影響因子可以根據(jù)實際情況增大!
三、根據(jù)PV計算公式:
? 比如一個網(wǎng)站,每天的PV大概1000w,根據(jù)2/8原則,我們可以認為這1000w pv的80%是在一天的9個小時內(nèi)完成的(人的精力有限),那么TPS為:
? 1000w*80%/(9*3600)=246.92個/s,取經(jīng)驗因子3,則并發(fā)量應(yīng)為:
? 246.92*3=740
四、根據(jù)TPS估計:
? ?公式為 C = (Think time + 1)*TPS
五、根據(jù)系統(tǒng)用戶數(shù)計算:
? ?并發(fā)用戶數(shù) = 系統(tǒng)最大在線用戶數(shù)的8%到12%
備注:本人目前在網(wǎng)上只找到了這5種,計算并發(fā)用戶數(shù)的方法,其他計算方法,歡迎大家留言補充
---------------------
原文:https://blog.csdn.net/qq_23101033/article/details/74977874