系統的平均併發用戶數和併發數峯值如何估算

一、經典公式1:
一般來說,利用以下經驗公式進行估算系統的平均併發用戶數和峯值數據

1)平均併發用戶數爲 C = nL/T
2)併發用戶數峯值 C‘ = C + 3*根號C
C是平均併發用戶數,n是login session的數量,L是login session的平均長度,T是值考察的時間長度
C’是併發用戶數峯值

舉例1,假設系統A,該系統有3000個用戶,平均每天大概有400個用戶要訪問該系統(可以從系統日誌從獲得),對於一個典型用戶來說,一天之內用戶從登陸到退出的平均時間爲4小時,而在一天之內,用戶只有在8小時之內會使用該系統。
那麼,
平均併發用戶數爲:C = 400*4/8 = 200
併發用戶數峯值爲:C‘ = 200 + 3*根號200 = 243

舉例2, 某公司爲其170000名員工設計了一個薪酬系統,員工可進入該系統查詢自己的薪酬信息,但並不是每個人都會用這個系統,假設只有50%的人會定期用改系統,這些人裏面有70%是在每個月的最後一週使用一次該系統,且平均使用系統時間爲5分鐘。
則一個月最後一週的平均併發用戶數爲(朝九晚五):
n = 170000*0.5*0.7/5 = 11900
C= 11900*5/60/8 = 124

吞吐量計算爲:F = Vu * R / T 單位爲個/s
F爲事務吞吐量,Vu爲虛擬用戶數個數,R爲每個虛擬用戶發出的請求數,T爲處理這些請求所花費的時間

二、通用公式2:
對絕大多數場景,我們用(用戶總量/統計時間)*影響因子(一般爲3)來進行估算併發量。
比如,以乘坐地鐵爲例子,每天乘坐人數爲5萬人次,每天早高峯是7到9點,晚高峯是6到7點,根據8/2原則,80%的乘客會在高峯期間乘坐地鐵,則每秒到達地鐵檢票口的人數爲50000*80%/(3*60*60)=3.7,約4人/S,考慮到安檢,入口關閉等因素,實際堆積在檢票口的人數肯定比這個要大,假定每個人需要3秒才能進站,那實際併發應爲4人/s*3s=12,當然影響因子可以根據實際情況增大!

三、根據PV計算公式:
比如一個網站,每天的PV大概1000w,根據2/8原則,我們可以認爲這1000w pv的80%是在一天的9個小時內完成的(人的精力有限),那麼TPS爲:
1000w*80%/(9*3600)=246.92個/s,取經驗因子3,則併發量應爲:
246.92*3=740

四、根據TPS估計:
公式爲 C = (Think time + 1)*TPS

五、根據系統用戶數計算:
併發用戶數 = 系統最大在線用戶數的8%到12%
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章