1. Method for Estimating the Number of Concurrent Users
Eric Man Wong 於2004年發表為《Method for Estimating the Number of Concurrent Users》
n 表示開始到結束的總用戶數
**L **表示每個用戶平均在線時長
T 表示開始到結束的總時長
2. Little定律
Little定律指出"系統中物體的平均數量等於物體到達系統的平均速率和物體在系統中停留的平均時間的乘積。 --- 百度百科
N 表示系統中同時活動的用戶,包括正在處理中和隊列中的
X 表示用戶相繼到達系統的速率,在平衡狀態時即為系統吞吐量(到達=離開)
R 表示每個用戶在系統中平均的駐留時間
3. 舉例
有一個論壇系統,每天的活躍用戶有500,用戶活躍時間主要集中在晚上7點到12點,平均每人登入登出一次,登陸時長為30分鍾,請為該系統建立性能測試模型。
-
使用Eric的估算公式解:
假設系統后端維護session,那么這個session的長度即為30分鍾,L=30minutes
用戶活躍時長已經得知是從7點到12點共五個小時,T=5 hours
那么並發用戶數,C=n*L/T = 500*30/(5*60)=50
-
使用Little定律對系統並發用戶數進行估算:
500個用戶需要在7點到12點這段時間陸續登入論壇可知,到達率X=500/(5*60)=5/3個用戶/分鍾
登陸時長30分鍾為用戶在系統中的駐留時間,R=30分鍾
那么系統中同時被服務也就是並發數N=X*R = 5/3*30=50
-
我們再來從另外的角度分解Eric的估算公式:
C = n*L/T 可以表示為 C=(n/T)*L
n/T 是不是和我們剛才在上面Little中第一步一樣,是計算到達率X的。
而L不就是R嗎?都等同於session的長度。
也就是說C = (n/T)*T= X*R = N
結論:由以上得知,Eric's 估算公式跟Little定律是等價的。
Forward :https://www.cnblogs.com/hundredsofyears/p/3360305.html