溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

性能測(cè)試中TPS和并發(fā)用戶數(shù)

發(fā)布時(shí)間:2020-07-04 22:41:45 來源:網(wǎng)絡(luò) 閱讀:977 作者:hxlb2012 欄目:軟件技術(shù)

并發(fā)用戶數(shù):是指現(xiàn)實(shí)系統(tǒng)中操作業(yè)務(wù)的用戶,在性能測(cè)試工具中,一般稱為虛擬用戶數(shù)(Virutal User)。


并發(fā)用戶數(shù)和注冊(cè)用戶數(shù)、在線用戶數(shù)的概念不同,

1、并發(fā)用戶數(shù)一定會(huì)對(duì)服務(wù)器產(chǎn)生壓力的,

2、而在線用戶數(shù)只是 ”掛” 在系統(tǒng)上,對(duì)服務(wù)器不產(chǎn)生壓力,

3、注冊(cè)用戶數(shù)一般指的是數(shù)據(jù)庫中存在的用戶數(shù)。


TPS:Transaction Per Second, 每秒事務(wù)數(shù), 是衡量系統(tǒng)性能的一個(gè)非常重要的指標(biāo)。

TPS就是每秒事務(wù)數(shù),但是事務(wù)是基于虛擬用戶數(shù)的,假如1個(gè)虛擬用戶在1秒內(nèi)完成1筆事務(wù),那么TPS明顯就是1;如果 某筆業(yè)務(wù)響應(yīng)時(shí)間是1ms,那么1個(gè)用戶在1秒內(nèi)能完成1000筆事務(wù),TPS就是1000了;如果某筆業(yè)務(wù)響應(yīng)時(shí)間是1s,那么1個(gè)用戶在1秒內(nèi)只能完 成1筆事務(wù),要想達(dá)到1000TPS,至少需要1000個(gè)用戶;因此可以說1個(gè)用戶可以產(chǎn)生1000TPS,1000個(gè)用戶也可以產(chǎn)生1000TPS,無非是看響應(yīng)時(shí)間快慢。


也就是說,在評(píng)定服務(wù)器的性能時(shí),應(yīng)該結(jié)合TPS和并發(fā)用戶數(shù),以TPS為主,并發(fā)用戶數(shù)為輔來衡量系統(tǒng)的性能。如果必須要用并發(fā)用戶數(shù)來衡量的 話,需要一個(gè)前提,那就是交易在多長(zhǎng)時(shí)間內(nèi)完成,因?yàn)樵谙到y(tǒng)負(fù)載不高的情況下,將思考時(shí)間(思考時(shí)間的值等于交易響應(yīng)時(shí)間)加到腳本中,并發(fā)用戶數(shù)基本可 以增加一倍,因此用并發(fā)用戶數(shù)來衡量系統(tǒng)的性能沒太大的意義。


在性能測(cè)試時(shí)并不需要用上萬的用戶并發(fā)去進(jìn)行測(cè)試,如果只需要保證系統(tǒng)處理業(yè)務(wù)時(shí)間足夠快,幾百個(gè)用戶甚至幾十個(gè)用戶就可 以達(dá)到目的。據(jù)他了解,很多專家做過的性能測(cè)試項(xiàng)目基本都沒有超過5000用戶并發(fā)。因此對(duì)于大型系統(tǒng)、業(yè)務(wù)量非常高、硬件配置足夠多的情況下,5000 用戶并發(fā)就足夠了;對(duì)于中小型系統(tǒng),1000用戶并發(fā)就足夠了。


系統(tǒng)吞吐量幾個(gè)重要參數(shù):TPS、并發(fā)數(shù)、響應(yīng)時(shí)間


     TPS:每秒鐘事務(wù)數(shù)量

     并發(fā)數(shù): 系統(tǒng)同時(shí)處理的事務(wù)數(shù)

     響應(yīng)時(shí)間:一般取平均響應(yīng)時(shí)間


                TPS=并發(fā)用戶數(shù) / (響應(yīng)時(shí)間+Thinktime)


并發(fā)用戶如何計(jì)算


一、經(jīng)典公式1:

   一般來說,利用以下經(jīng)驗(yàn)公式進(jìn)行估算系統(tǒng)的平均并發(fā)用戶數(shù)和峰值數(shù)據(jù)

 

  1)平均并發(fā)用戶數(shù)為 C = nL/T

  2)并發(fā)用戶數(shù)峰值 C‘ = C + 3*根號(hào)C

    C是平均并發(fā)用戶數(shù),n是login session的數(shù)量,L是login session的平均長(zhǎng)度,T是值考察的時(shí)間長(zhǎng)度

    C’是并發(fā)用戶數(shù)峰值

 

  舉例1,假設(shè)系統(tǒng)A,該系統(tǒng)有3000個(gè)用戶,平均每天大概有400個(gè)用戶要訪問該系統(tǒng)(可以從系統(tǒng)日志從獲得),對(duì)于一個(gè)典型用戶來說,一天之內(nèi)用戶從登陸到退出的平均時(shí)間為4小時(shí),而在一天之內(nèi),用戶只有在8小時(shí)之內(nèi)會(huì)使用該系統(tǒng)。

  那么,

  平均并發(fā)用戶數(shù)為:C = 400*4/8 = 200

  并發(fā)用戶數(shù)峰值為:C‘ = 200 + 3*根號(hào)200 = 243


  舉例2, 某公司為其170000名員工設(shè)計(jì)了一個(gè)薪酬系統(tǒng),員工可進(jìn)入該系統(tǒng)查詢自己的薪酬信息,但并不是每個(gè)人都會(huì)用這個(gè)系統(tǒng),假設(shè)只有50%的人會(huì)定期用改系統(tǒng),這些人里面有70%是在每個(gè)月的最后一周使用一次該系統(tǒng),且平均使用系統(tǒng)時(shí)間為5分鐘。

  則一個(gè)月最后一周的平均并發(fā)用戶數(shù)為(朝九晚五):

  n = 170000*0.5*0.7/5 = 11900

  C= 11900*5/60/8 = 124

 

  吞吐量計(jì)算為:F = Vu * R / T 單位為個(gè)/s

    F為事務(wù)吞吐量,Vu為虛擬用戶數(shù)個(gè)數(shù),R為每個(gè)虛擬用戶發(fā)出的請(qǐng)求數(shù),T為處理這些請(qǐng)求所花費(fèi)的時(shí)間

 

二、通用公式2:

  對(duì)絕大多數(shù)場(chǎng)景,我們用(用戶總量/統(tǒng)計(jì)時(shí)間)*影響因子(一般為3)來進(jìn)行估算并發(fā)量。

  比如,以乘坐地鐵為例子,每天乘坐人數(shù)為5萬人次,每天早高峰是7到9點(diǎn),晚高峰是6到7點(diǎn),根據(jù)8/2原則,80%的乘客會(huì)在高峰期間乘坐地鐵,則每秒到達(dá)地鐵檢票口的人數(shù)為50000*80%/(3*60*60)=3.7,約4人/S,考慮到安檢,入口關(guān)閉等因素,實(shí)際堆積在檢票口的人數(shù)肯定比這個(gè)要大,假定每個(gè)人需要3秒才能進(jìn)站,那實(shí)際并發(fā)應(yīng)為4人/s*3s=12,當(dāng)然影響因子可以根據(jù)實(shí)際情況增大!

 

三、根據(jù)PV計(jì)算公式:

  比如一個(gè)網(wǎng)站,每天的PV大概1000w,根據(jù)2/8原則,我們可以認(rèn)為這1000w pv的80%是在一天的9個(gè)小時(shí)內(nèi)完成的(人的精力有限),那么TPS為:

  1000w*80%/(9*3600)=246.92個(gè)/s,取經(jīng)驗(yàn)因子3,則并發(fā)量應(yīng)為:

  246.92*3=740


四、根據(jù)TPS估計(jì):

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


五、根據(jù)系統(tǒng)用戶數(shù)計(jì)算:

   并發(fā)用戶數(shù) = 系統(tǒng)最大在線用戶數(shù)的8%到12%


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI