小短文 | 高并发系统,如何计算并发量和峰值数据?
點擊上方“朱小廝的博客”,選擇“設為星標”
回復”2048“獲取新鮮整理的學習資料
一、經典公式:
一般來說,利用以下經驗公式進行估算系統的平均并發用戶數和峰值數據
1、平均并發用戶數為 C=nL/T2、并發用戶數峰值 C‘=C+3*根號CC是平均并發用戶數,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單位為個/sF為事務吞吐量,Vu為虛擬用戶數個數,R為每個虛擬用戶發出的請求數,T為處理這些請求所花費的時間。整編:微信公眾號,搜云庫技術團隊,ID:souyunku
二、通用公式:
對絕大多數場景,我們用(用戶總量/統計時間)影響因子(一般為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=(Thinktime+1)*TPS
五、根據系統用戶數計算:
并發用戶數 = 系統最大在線用戶數的8%到12%
備注:本人目前在網上只找到了這5種,計算并發用戶數的方法,其他計算方法,歡迎大家留言補充
想知道更多?掃描下面的二維碼關注我
加技術群入口(備注:技術):>>>Learn More<<
免費資料入口(備注:1024):>>>Learn More<<
免費星球入口:>>>Free<<<
內推通道>>>>
今天開始到9月7日,當當開學季促銷,滿600減300,用我的優惠碼還可以減50,相當于250買600的書,支持全品類。結算的時候用優惠碼?TMWCP4?即可。
點個"在看"唄^_^
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的小短文 | 高并发系统,如何计算并发量和峰值数据?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全方位认识DNS
- 下一篇: 这代码写的跟狗屎一样!怎么优化?