估算并發(fā)用戶數(shù)的方法_第1頁(yè)
估算并發(fā)用戶數(shù)的方法_第2頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、估算并發(fā)用戶數(shù)的方法作者:Eric Man Wong一、引言為了進(jìn)行容量規(guī)劃和進(jìn)行性能方面的管理, 正式發(fā)布產(chǎn)品之前往往有必要估算系統(tǒng)能夠 承受的最大并發(fā)用戶數(shù)。 因?yàn)橄到y(tǒng)資源的使用直接與并發(fā)用戶數(shù)掛鉤。 就拿Web應(yīng)用來說, 內(nèi)存的使用,CPU的利用率,服務(wù)器的進(jìn)程/線程數(shù),數(shù)據(jù)庫(kù)連接數(shù)和網(wǎng)絡(luò)帶寬占用率都是 關(guān)于并發(fā)用戶數(shù)的增函數(shù)。盡管知道并發(fā)用戶數(shù)的重要性, 我們還是經(jīng)常通過第六感或者是大膽臆測(cè)去估計(jì)這個(gè)數(shù) 值,十分缺乏理性。在本文中,我們會(huì)嘗試去介紹一種簡(jiǎn)單的方法來得出這個(gè)并發(fā)用戶數(shù)的 估計(jì)值通過某些其他的參數(shù),這個(gè)值將會(huì)更加易于估算并且更加合理。二、一種不令人滿意的方法 人們時(shí)常用的一

2、種估計(jì)方法是這樣的:假設(shè)并發(fā)用戶數(shù)等于全部用戶數(shù)乘以某個(gè)比例。這不是一種好方法, 因?yàn)榫退阌袝r(shí)候總的用戶數(shù)可以可靠的估計(jì)出來, 然而百分比盡管 不能總說是一個(gè)不具有說服力的魔力數(shù)字。必須指出的是,剛提到的這個(gè)百分比不能視為在某個(gè)時(shí)間段內(nèi)登錄系統(tǒng)的那部分用戶。 在某些情況下才能肯定的得出登錄系統(tǒng)的用戶數(shù)。 舉個(gè)例子, 如果我們知道每個(gè)用戶都會(huì)在 每個(gè)月的某一天使用且只使用一次某個(gè)系統(tǒng),那么我們可以理所當(dāng)然的認(rèn)為任意一天使用該 系統(tǒng)的百分比是大約3.3%(作者注: 就是1/30) 。(譯者注:30就是提到的“每個(gè)月” )。盡管如此, 僅僅依靠這個(gè)百分比不能用來推導(dǎo)出并發(fā)用戶數(shù)。 因?yàn)樵谕惶焓褂孟?/p>

3、統(tǒng)的 人并不是同時(shí)使用的。有的用戶可能在上午使用,有的用戶可能在下午使用。我們接下來看看一種更好的方法。三、估算平均并發(fā)用戶數(shù)的公式我們通過定義并發(fā)用戶數(shù)來開始這一節(jié)。 但是在之前, 我們必須搞清楚login session的 含義。login session的意思是通過開始和結(jié)束時(shí)間定義的一段時(shí)間。在這段時(shí)間內(nèi),系統(tǒng)的一 個(gè)或多個(gè)資源被占用。 使用任意一個(gè)需要用戶登錄的Web應(yīng)用作為例子,login session從用 戶登錄到系統(tǒng)開始,到用戶退出系統(tǒng)結(jié)束。 每次用戶的登錄都創(chuàng)建了一個(gè)用戶的sessio n(作者注:占用了系統(tǒng)的內(nèi)存) 。login session的時(shí)長(zhǎng)取決于開始和結(jié)束的時(shí)間

4、。我們現(xiàn)在做好定義并發(fā)用戶數(shù)的準(zhǔn)備了。 我們應(yīng)該同意某個(gè)瞬間的 “并發(fā)用戶數(shù)” 是這個(gè)瞬間的login session的個(gè)數(shù)。在下圖中闡明了這個(gè)定義:- Loein session 1- Loszin session 2few- Login session 3_ Loo in session 4JtoTime橫軸是時(shí)間軸。每一條水平線段代表了一個(gè)login session。處垂直的那條線與水平線有三個(gè)交點(diǎn),那么并發(fā)用戶數(shù)是3。讓我們關(guān)注時(shí)間從起點(diǎn)到隨意的某個(gè)時(shí)間。下面的結(jié)論可以利用數(shù)學(xué)知識(shí)證明:平均并發(fā)用戶數(shù)(C)=竽的和.(*)另外,如果從開始到時(shí)間T的范圍內(nèi)login session的總數(shù)

5、是n,并且平均的loginsession時(shí)長(zhǎng)是,那么廠nLC=T正式的證明過程見附錄。直覺上來看,這個(gè)公式可以這樣來認(rèn)為:設(shè)想每條session的線條都是首尾相連的。如果這條線的長(zhǎng)度超過了,那么我們就把它折疊起來,使得每一段都長(zhǎng)度都是T。折疊的次數(shù)就如同平均并發(fā)用戶數(shù)。在下圖對(duì)此做出了說明:為了利用第三節(jié)的公式計(jì)算平均并發(fā)用戶數(shù)(C),前提條件是在關(guān)注的時(shí)間段(T)中計(jì)算出兩個(gè)參數(shù):login session的總數(shù)(n)login session的平均時(shí)長(zhǎng)(L)在這一節(jié)中,我們會(huì)給出估算這兩個(gè)參數(shù)的一些建議。首先,必須指出通過公式得出的C,僅僅是一個(gè)平均值。有可能并發(fā)用戶數(shù)會(huì)在這個(gè)時(shí)間段內(nèi)起伏

6、很大。因此,如果我們希望利用C來作為并發(fā)用戶數(shù),我們應(yīng)當(dāng)限制關(guān)注的時(shí)間以便新的login session的比例(作者注:比如說n/T的比例)能夠或多或少的保持穩(wěn) 定。舉個(gè)例子,如果我們知道系統(tǒng)僅僅在工作時(shí)間內(nèi)使用,我們可以只關(guān)注工作時(shí)間,而不是一整天。那么T就等于8(作者注:假設(shè)8小時(shí)工作制),而不是24。否則,C的值 就會(huì)大大減少,因?yàn)槭聦?shí)上沒有人在非工作時(shí)間使用系統(tǒng)。login session的總數(shù)(n)和login session的平均時(shí)長(zhǎng)(L)經(jīng)??梢杂捎脩艨傮w和使用習(xí)慣來確定。舉例來說,如果有N個(gè)潛在用戶,并且我們知道每個(gè)用戶每天可能使用系統(tǒng) 一次、兩次、三次的概率分別是,并且假設(shè)用

7、戶每天使用系統(tǒng)不會(huì)超過3次,那么每天的login session的總數(shù)就的總數(shù)就是-。另一參數(shù)一一平均時(shí) 長(zhǎng),可以通過觀察樣本用戶來估算。在許多的系統(tǒng)中,不同的用戶對(duì)系統(tǒng)的使用頻率以及平均使用系統(tǒng)時(shí)長(zhǎng)波動(dòng)的范圍都很Time大。在這樣的情況下,如果我們將相似的用戶分類,上述的分析依然成立。我們可以計(jì)算出每一類用戶的并發(fā)用戶數(shù)并且將結(jié)果整合在一起。無(wú)可爭(zhēng)辯的是,用戶的使用習(xí)慣往往是很難準(zhǔn)確預(yù)測(cè)的。但是對(duì)于大多數(shù)的系統(tǒng), 尤其 是內(nèi)部的應(yīng)用,一些這方面的合理的、 粗略的數(shù)據(jù)是可以得到的。 下一節(jié)的例子會(huì)對(duì)此做出 說明。五、一個(gè)例子H市政府準(zhǔn)備為了其170,000名員工運(yùn)行一個(gè)薪酬系統(tǒng),員工可以通過此

8、系統(tǒng)查詢自己的薪酬信息。由于IT技能的差異、電腦的資源有限以及其他種種的原因,預(yù)計(jì)到系統(tǒng)上線只有50%的員工會(huì)定期使用該系統(tǒng)。這些員工中的70%會(huì)在每個(gè)月的最后一周使用系統(tǒng)一次。據(jù)觀測(cè),參與了用戶接受度測(cè)試的員工們平均使用這個(gè)系統(tǒng)的時(shí)間是5分鐘?,F(xiàn)在我們可以來估算一個(gè)月的最后一周的并發(fā)用戶數(shù)了。我們限定關(guān)注的時(shí)間是每一天的工作時(shí)間(作者注:朝九晚五)。n= 170,000 x 0.5x0775(周工作 5 天)= 11,900L =5分鐘廠=8小時(shí)二 480分鐘(8 小時(shí)工作制)C=U900X5S5124T480所以,每個(gè)月最后一周系統(tǒng)使用的井發(fā)用戶數(shù)是|124 所以,每個(gè)月最后一周系統(tǒng)使用的

9、并發(fā)用戶數(shù)是124。六、估算并發(fā)用戶數(shù)的高峰值1、理論第三節(jié)中的公式估算了平均并發(fā)用戶數(shù)。接下來很可能遇到的問題是: 怎么預(yù)估高峰并發(fā)用戶的數(shù)值?在本節(jié)中,我們能夠看到在某些假設(shè)條件下,該高峰值也是可以估算出來的。泊松分布是一種現(xiàn)成的并且廣泛運(yùn)用的統(tǒng)計(jì)模型,它適用于到達(dá)速率隨機(jī)且獨(dú)立的分布(作者注:該分布可以參見于大把介紹統(tǒng)計(jì)學(xué)的書籍)。假設(shè)在線用戶數(shù)滿足泊松分布,其中新登錄的數(shù)量均值是 入,根據(jù)定義:P(單位時(shí)間在線的用戶數(shù)=r!P代表的是概率,e是歐拉數(shù),x!代表x的階乘。在此假設(shè)下,可以證明在任何時(shí)刻的登錄成功的用戶數(shù)都符合泊松分布。最驚異結(jié)論的莫過于根本不去理會(huì)保持登錄的時(shí)間時(shí)長(zhǎng)(作者

10、注:保持登錄的時(shí)長(zhǎng)也是隨機(jī)的且可以隨意長(zhǎng)短)。根據(jù)上述等式,有:P(任意時(shí)刻在線的用戶數(shù)= .r) = 眾所周知,泊松分布在均值為C的時(shí)候可以近似的認(rèn)為滿足均值為C且標(biāo)準(zhǔn)差為的正態(tài)分布(作者注:再次說明,這些都可以在大把的統(tǒng)計(jì)學(xué)教材中找到)。(譯者注:根據(jù)譯者慘淡的統(tǒng)計(jì)學(xué)知識(shí),作者漏了泊松分布要在均值大于20的時(shí)候才近似正態(tài)分布,不過例子中在線的平均人數(shù)是超過20的)。如果我們令并發(fā)用戶數(shù)為X,那么就意味著.滿足標(biāo)準(zhǔn)正態(tài)分布:均值為0且標(biāo)準(zhǔn)差為1。查表可得下面的結(jié)論:(注:正態(tài)分布表可參考http:/site. .c n/jxcg/KJ/Bernoulli/N_table.ht

11、m)通俗的講,上面的等式意味著并發(fā)用戶數(shù)小于的概率是99.87%。這個(gè)概率對(duì)于絕大多數(shù)用途都足夠大,所以我們估算高峰并發(fā)用戶數(shù)為;高峰并發(fā)用戶數(shù)(G 宅 C + 3 広 .“ *,2、實(shí)踐在上一節(jié),我們講述了新登錄的用戶數(shù)符合泊松分布,高峰并發(fā)用戶數(shù)也是可以估算的。盡管如此,在現(xiàn)實(shí)世界里,登陸的用戶是按照以下的方式運(yùn)作的:1、沉睡狀態(tài)一一在非工作時(shí)間不登陸;2、片刻狀態(tài)(上升)一一開始工作的時(shí)候,人們開始登錄系統(tǒng);在線的數(shù)量不斷增加;3、穩(wěn)定期- 在線的用戶數(shù)保持穩(wěn)定;4、片刻狀態(tài)(回落)一一工作時(shí)間結(jié)束;人們退出系統(tǒng);在線的人減少;這四個(gè)狀態(tài)周而復(fù)始。像上面的這個(gè)應(yīng)用系統(tǒng),6.1節(jié)的假設(shè)只適

12、用于第3個(gè)狀態(tài)一一就是穩(wěn)定期那個(gè)狀態(tài)。C是第三節(jié)提及的平均并發(fā)用戶數(shù)。(作者注:這部分的證明過于繁瑣。本文將其略掉。)X-C4ci 3)99.87%因此,倘若我們要更精確預(yù)估高峰并發(fā)用戶數(shù)的話,應(yīng)該遵循下面的步驟:1、根據(jù)經(jīng)驗(yàn)來估計(jì)穩(wěn)定期的時(shí)間段。2、估計(jì)在穩(wěn)定期的登錄用戶數(shù)。3、 根據(jù)第3節(jié)的公式(* *)計(jì)算平均并發(fā)用戶數(shù)C。4、運(yùn)用6.1節(jié)的公式(* *)來計(jì)算高峰并發(fā)用戶數(shù)。通過第5節(jié)的一個(gè)例子來說明一下上述的步驟:接上例,補(bǔ)充條件如下:假設(shè)80%的員工進(jìn)入這個(gè)薪酬系統(tǒng)的時(shí)間是上午9:30到12:30以及下午2:30到4:30這5個(gè)小時(shí),盡管一天工作時(shí)間是8小時(shí)。并且,在這5小 時(shí)之間

13、登錄數(shù)保持穩(wěn)定。T =分鐘5小時(shí)=300n = 11,900 0&= 9,520L = 5分鐘嚴(yán)nL9,520 x5(rnT300高呷井發(fā)用戶數(shù)(C)C + 37C h 196讀者可能注意到了上面的平均并發(fā)用戶數(shù)和第5節(jié)的有差異,此處的結(jié)果更大。實(shí)際上兩處的都是合理的。這正印證了第4節(jié)說過的,那就是一一平均并發(fā)用戶數(shù)很大程度上取決于所關(guān)注的時(shí)間段。在第5節(jié)中,我們關(guān)注的時(shí)間段是整個(gè)工作時(shí)間,所以平均值被很少人登錄的那段時(shí)間所拖累了。在本節(jié)中,我們限制了關(guān)注高峰的時(shí)間段,所以結(jié)果更大。盡管兩個(gè)數(shù)據(jù)都是合理的,但是后者將更加適用于展現(xiàn)系統(tǒng)的使用情況。七、根據(jù)并發(fā)用戶數(shù)得到其他有用的數(shù)據(jù)一旦

14、我們找出了并發(fā)用戶數(shù),其他的一些系統(tǒng)屬性值也可以由它推出。在本節(jié)中,我們會(huì)討論如何計(jì)算網(wǎng)絡(luò)帶寬占用率。對(duì)于Web應(yīng)用,請(qǐng)求率(作者注:比如說單位時(shí)間內(nèi)的請(qǐng)求數(shù),有時(shí)候視為點(diǎn)擊率)是另一個(gè)進(jìn)行容量規(guī)劃的重要因素。如果可以通過樣本得到用戶的平均數(shù)值是r,那么可以容易得出:平均總請(qǐng)求率(R 二fC高體總請(qǐng)求率RrC式中的C和.分別是平均并發(fā)用戶數(shù)和高峰并發(fā)用戶數(shù)。拿薪酬系統(tǒng)的例子來說, 如果平均每個(gè)用戶每分鐘發(fā)起10個(gè)請(qǐng)求,那高峰時(shí)平均總的請(qǐng)求率就大概是1590/分鐘。(作者注:)。類似的,如果我們能夠確定每位用戶的平均網(wǎng)絡(luò)帶寬占用率,以用相同的方法求出。 每個(gè)用戶的單位時(shí)間的bits/bytes可

15、以由系統(tǒng)通過網(wǎng)絡(luò)傳給用戶的數(shù)據(jù)轉(zhuǎn)換。令平均的占用率是u,則有:平均總帶寬占用率心)-wC高殲總帶寬占用率(門“圧八、總結(jié)在本文中,我們提出了一個(gè)公式,利用該公式可以通過系統(tǒng)的登錄用戶數(shù)來計(jì)算某段關(guān) 注的時(shí)間的平均并發(fā)用戶數(shù)。另外本文還給出了一些估算這些參數(shù)的建議。在登錄用戶數(shù)符合泊松分布的假設(shè)下,我們大致推斷出了高峰并發(fā)用戶數(shù)的上限。文中的那幾個(gè)公式并非解決找出并發(fā)用戶數(shù)的靈丹妙藥。它們僅僅提供了解決此類問題的一個(gè)方向。確切的公式更大程度上取決于找到用戶登錄的時(shí)間段以及平均在線時(shí)長(zhǎng),這兩者又取決于用戶習(xí)慣。有時(shí)候準(zhǔn)確預(yù)估并發(fā)用戶數(shù)真的是又費(fèi)馬達(dá)又費(fèi)電。然而,我們堅(jiān)信對(duì)于很多的系統(tǒng)來說,有些雖然粗糙但又挺合理的估算在既省時(shí)又省力的情況下是可以接受 的。我們可以定義并發(fā)用戶的平均數(shù)如同到那樣一直延伸到無(wú)窮大。積分。平均并發(fā)用戶/()山假設(shè)在0到T時(shí)刻有m個(gè)用戶登錄,分別用1到m對(duì)其編號(hào)。我們來分別考察第i個(gè)用戶的登錄開始時(shí)刻和退出登錄的時(shí)刻。我們?cè)俣x一個(gè)函數(shù)叫做, 它是關(guān) 于總共的網(wǎng)絡(luò)帶寬占用率可附錄:關(guān)于第3節(jié)公式(*)的證明設(shè) 是t時(shí)刻的并發(fā)用戶數(shù)。設(shè)想從0到T的這個(gè)時(shí)間段被平均分成了n個(gè)小j= 12 dn處結(jié)束:0Tn 2Tn 3Tn ATn(n-lWn T當(dāng)n

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論