並發用戶數的計算公式

字號+ 編輯: 国内TP粉 修訂: 秃顶萧峰 來源: ThinkPHP 2023-09-05 我要說兩句(0)

業務並發用戶數、最大並發訪問數、系統用戶數、同時在線用戶數大家經常碰到,但是具體怎麽計算呢?

一、經典公式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爲處理這些請求所花費的時間 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爲:

1000w80%/(93600)=246.92個/s,取經驗因子3,則並發量應爲:

246.92*3=740


四、根據TPS估計:

公式爲 C = (Think time + 1)*TPS


五、根據系統用戶數計算:

並發用戶數 = 系統最大在線用戶數的8%到12%


備注:本人目前在網上只找到了這5種,計算並發用戶數的方法,其他計算方法,歡迎大家留言補充。

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評