與并發(fā)用戶數(shù)相關(guān)的概念還包括“并發(fā)用戶數(shù)”,、“系統(tǒng)用戶數(shù)”和“同時(shí)在線用戶數(shù)”,,下面用一個(gè)實(shí)際的例子來說明它們之間的差別,。 假設(shè)有一個(gè)OA系統(tǒng),,該系統(tǒng)有2000個(gè)使用用戶——這就是說,,可能使用該OA系統(tǒng)的用戶總數(shù)是2000名,,這個(gè)概念就是“系統(tǒng)用戶數(shù)”,,該系統(tǒng)有一個(gè)“在線統(tǒng)計(jì)”功能(系統(tǒng)用一個(gè)全局變量記數(shù)所有已登錄的用戶),從在線統(tǒng)計(jì)功能中可以得到,,最高峰時(shí)有500人在線(這個(gè)500就是一般所說的“同時(shí)在線人數(shù)”),,那么,系統(tǒng)的并發(fā)用戶數(shù)是多少呢,? 根據(jù)我們對(duì)業(yè)務(wù)并發(fā)用戶數(shù)的定義,,這500就是整個(gè)系統(tǒng)使用時(shí)最大的業(yè)務(wù)并發(fā)用戶數(shù)。當(dāng)然,,500這個(gè)數(shù)值只是表明在最高峰時(shí)刻有500個(gè)用戶登錄了系統(tǒng),,并不表示實(shí)際服務(wù)器承受的壓力。因?yàn)榉?wù)器承受的壓力還與具體的用戶訪問模式相關(guān),。例如,,在這500個(gè)“同時(shí)使用系統(tǒng)”的用戶中,考察某一個(gè)時(shí)間點(diǎn),,在這個(gè)時(shí)間上,,假設(shè)其中40%的用戶在較有興致地看系統(tǒng)公告(注意:“看”這個(gè)動(dòng)作是不會(huì)對(duì)服務(wù)端產(chǎn)生任何負(fù)擔(dān)的),20%的用戶在填寫復(fù)雜的表格(對(duì)用戶填寫的表格來說,,只有在“提交”的時(shí)刻才會(huì)向服務(wù)端發(fā)送請(qǐng)求,填寫過程是不對(duì)服務(wù)端構(gòu)成壓力的),,20%部分用戶在發(fā)呆(也就是什么也沒有做),,剩下的20%用戶在不停地從一個(gè)頁面跳轉(zhuǎn)到另一個(gè)頁面——在這種場(chǎng)景下,可以說,,只有20%的用戶真正對(duì)服務(wù)器構(gòu)成了壓力,。因此,從上面的例子中可以看出,,服務(wù)器實(shí)際承受的壓力不只取決于業(yè)務(wù)并發(fā)用戶數(shù),,還取決于用戶的業(yè)務(wù)場(chǎng)景,。 在實(shí)際的性能測(cè)試工作中,測(cè)試人員一般比較關(guān)心的是業(yè)務(wù)并發(fā)用戶數(shù),,也就是從業(yè)務(wù)角度關(guān)注究竟應(yīng)該設(shè)置多少個(gè)并發(fā)數(shù)比較合理,,因此,在后面的討論中,,也是主要針對(duì)業(yè)務(wù)并發(fā)用戶數(shù)進(jìn)行討論,,而且,為了方便,,直接將業(yè)務(wù)并發(fā)用戶數(shù)稱為并發(fā)用戶數(shù),。 (1) 計(jì)算平均的并發(fā)用戶數(shù): C = nL/T //公式(1)中,C是平均的并發(fā)用戶數(shù),;n是login session的數(shù)量,;L是login session的平均長(zhǎng)度;T指考察的時(shí)間段長(zhǎng)度,。 (2) 并發(fā)用戶數(shù)峰值: C’ ≈ C+3根號(hào)C //公式(2)則給出了并發(fā)用戶數(shù)峰值的計(jì)算方式中,,其中,C’指并發(fā)用戶數(shù)的峰值,,C就是公式(1)中得到的平均的并發(fā)用戶數(shù),。該公式的得出是假設(shè)用戶的login session產(chǎn)生符合泊松分布而估算得到的。 實(shí)例: 假設(shè)有一個(gè)OA系統(tǒng),,該系統(tǒng)有3000個(gè)用戶,,平均每天大約有400個(gè)用戶要訪問該系統(tǒng),對(duì)一個(gè)典型用戶來說,,一天之內(nèi)用戶從登錄到退出該系統(tǒng)的平均時(shí)間為4小時(shí),,在一天的時(shí)間內(nèi),用戶只在8小時(shí)內(nèi)使用該系統(tǒng),。 則根據(jù)公式(1)和公式(2),,可以得到: C = 400*4/8 = 200 C’≈200+3*根號(hào)200 = 242 F=VU * R / T 其中F為吞吐量,VU表示虛擬用戶個(gè)數(shù),,R表示每個(gè)虛擬用戶發(fā)出的請(qǐng)求數(shù),,T表示性能測(cè)試所用的時(shí)間 R = T / TS TS為用戶思考時(shí)間 計(jì)算思考時(shí)間的一般步驟: A、 首先計(jì)算出系統(tǒng)的并發(fā)用戶數(shù) C=nL / T F=R×C B,、 統(tǒng)計(jì)出系統(tǒng)平均的吞吐量 F=VU * R / T R×C = VU * R / T C,、 統(tǒng)計(jì)出平均每個(gè)用戶發(fā)出的請(qǐng)求數(shù)量 R=u*C*T/VU D、根據(jù)公式計(jì)算出思考時(shí)間 TS=T/R |
|