如何估算性能測(cè)試中的TPS和并發(fā)用戶數(shù)歉闰?

假設(shè)一個(gè)系統(tǒng)的業(yè)務(wù)有登錄辖众、瀏覽帖子卓起、發(fā)送新帖、回復(fù)帖子凹炸,訪問(wèn)高峰是上午10點(diǎn)戏阅,日訪問(wèn)高峰PV約5208(含登錄1300、瀏覽2706啤它、發(fā)帖526奕筐、回帖676)。系統(tǒng)響應(yīng)時(shí)間要求小于3秒变骡,試計(jì)算此系統(tǒng)的TPS以及并發(fā)數(shù)离赫。

如果分析業(yè)務(wù)量的數(shù)據(jù)是以PV來(lái)統(tǒng)計(jì)的,我們需要把PV轉(zhuǎn)化為T(mén)PS锣光。

實(shí)際上一個(gè)PV即一次對(duì)服務(wù)器的客戶請(qǐng)求笆怠,可能還包含了很多資源請(qǐng)求铝耻,比如圖片誊爹、樣式、JS信息瓢捉、文字等频丘。而瀏覽器具有資源緩存功能,下次訪問(wèn)同樣資源將不會(huì)再?gòu)倪h(yuǎn)程服務(wù)器上下載泡态,這大大加快了響應(yīng)速度搂漠。如果我們使用代理服務(wù)器訪問(wèn)外網(wǎng)資源時(shí),多數(shù)代理服務(wù)器也會(huì)緩存這些靜態(tài)數(shù)據(jù)某弦。也就是說(shuō)瀏覽器與服務(wù)器之間的動(dòng)態(tài)數(shù)據(jù)的 Size 會(huì)小于靜態(tài)數(shù)據(jù)桐汤。

所以瀏覽器是否緩存了靜態(tài)數(shù)據(jù)對(duì)性能測(cè)試影響明顯。我們?cè)谧鲂阅軠y(cè)試時(shí)靶壮,其中就有許多用戶可能是新用戶怔毛,在他們的瀏覽器上還沒(méi)有緩存這些靜態(tài)數(shù)據(jù),為了更準(zhǔn)確的模擬用戶請(qǐng)求腾降,我們有必要不緩存這些靜態(tài)內(nèi)容拣度。所以性能測(cè)試中是否緩存訪問(wèn)的靜態(tài)資源要根據(jù)業(yè)務(wù)情況而定。

本例中螃壤,我們把一個(gè)請(qǐng)求放在一個(gè)事務(wù)中來(lái)統(tǒng)計(jì)服務(wù)器的響應(yīng)時(shí)間抗果。這么說(shuō),一個(gè)PV即是一個(gè)事務(wù)(每秒的PV量并不直接等同于TPS奸晴,因?yàn)橐淮慰蛻粽?qǐng)求可能包含了很多資源請(qǐng)求冤馏。如果我們不關(guān)心頁(yè)面刷新時(shí)請(qǐng)求資源的耗時(shí),此時(shí)我們就把每秒PV數(shù)等同于TPS)寄啼。比如一個(gè)功能頁(yè)面(瀏覽帖子)每秒會(huì)有10個(gè)PV逮光,那么此功能的TPS即為10赘淮。

估算TPS

業(yè)務(wù)量一般要取系統(tǒng)業(yè)務(wù)高峰的值,才能代表系統(tǒng)的實(shí)際處理能力睦霎。系統(tǒng)在10點(diǎn)的訪問(wèn)高峰PV約5208梢卸,那么這個(gè)時(shí)段的TPS=5208/3600≈1.45嗎?

答案是否定的副女,因?yàn)樵谝恍r(shí)內(nèi)的吞吐量未必是平均的蛤高。

如果我們采集到的業(yè)務(wù)量數(shù)據(jù)能夠細(xì)分到每分鐘,TPS就越準(zhǔn)確碑幅。如果不能戴陡,可以按照二八原則。即80%的業(yè)務(wù)在20%的時(shí)間內(nèi)完成沟涨,TPS=(520880%)/(360020%)≈5.8恤批。

估算并發(fā)數(shù)

  1. 由TPS進(jìn)行估算
  2. 由在線活動(dòng)用戶數(shù)估算
  3. 根據(jù)經(jīng)驗(yàn)估算

這里我們采用第一種方法。

因?yàn)門(mén)PS=事務(wù)數(shù)/時(shí)間裹赴,假設(shè)所有的事務(wù)都來(lái)自不同的用戶喜庞,那么并發(fā)數(shù)=事務(wù)數(shù)=TPS*時(shí)間。具體如下:

Vu(業(yè)務(wù)名稱)=TPS(業(yè)務(wù)名稱)*(Runtime+ThinkTime)

其中棋返,Vu(業(yè)務(wù)名稱)表示此業(yè)務(wù)的虛擬用戶數(shù)延都,即并發(fā)數(shù)。RunTime是測(cè)試程序/腳本運(yùn)行一次所消耗的時(shí)間睛竣,包括事務(wù)時(shí)間+非事務(wù)時(shí)間晰房。ThinkTime是模擬用戶思考或者填寫(xiě)表單消耗的時(shí)間。

下面是發(fā)帖動(dòng)作的測(cè)試腳本偽代碼(T射沟、TT殊者、AT表示時(shí)間,單位為秒验夯。AT一般都是非常小的猖吴,包含在事務(wù)時(shí)間中,可以忽略)簿姨。Runtime=T1+···+T7距误;ThinkTime=TT1+TT2。

image

業(yè)內(nèi)一般把 Think Time 設(shè)為3秒扁位。測(cè)試需求中要求響應(yīng)時(shí)間小于3秒准潭,我們就以3秒為閥值(為什么只有事務(wù)頁(yè)面是3秒,非事務(wù)時(shí)間是0.2秒域仇?刑然??)暇务∑寐樱可得Vu=TPS(RunTime+ThinkTime)=5.8(T1+TT1+T2+T3+T4+T5+TT2+T6+T7)≈76怔软。

如果只計(jì)算事務(wù)時(shí)間,Vu=TPST2=5.82≈12择镇。

可以看到兩者之間的Vu數(shù)量相差巨大挡逼。由于一次迭代的時(shí)間會(huì)大于事務(wù)的響應(yīng)時(shí)間,如果在估算時(shí)不把非事務(wù)消耗的時(shí)間加入進(jìn)去腻豌,計(jì)算出來(lái)的12個(gè)并發(fā)用戶在測(cè)試執(zhí)行時(shí)很有可能無(wú)法達(dá)到TPS=5.8的目標(biāo)家坎。

由于我們計(jì)算Vu時(shí),使用的是系統(tǒng)TPS(登錄吝梅、瀏覽虱疏、發(fā)帖、回帖合計(jì))苏携,其中又以發(fā)帖業(yè)務(wù)消耗時(shí)間最長(zhǎng)做瞪,所以計(jì)算出來(lái)的76個(gè)并發(fā)數(shù)實(shí)際上是系統(tǒng)業(yè)務(wù)的總并發(fā)數(shù),需要按比例分配到各個(gè)業(yè)務(wù)右冻。

業(yè)務(wù)名稱 高峰業(yè)務(wù)量 TPS 并發(fā)數(shù) 響應(yīng)時(shí)間 事務(wù)成功率
登錄 1300 1.44 20 <3秒 >99%
瀏覽 2706 3.0 40 <3秒 >99%
發(fā)帖 526 0.58 7??? <3秒 >99%
回帖 676 0.75 10 <3秒 >99%
合計(jì) 5208 5.8 77 - -

實(shí)際上分配時(shí)由于有小數(shù)點(diǎn)装蓬,向上取整(是合計(jì)向上取整,還是單個(gè)業(yè)務(wù)向上取整国旷?矛物??)跪但,所以76個(gè)并發(fā)用戶分配后是77個(gè)。

并發(fā)數(shù)的計(jì)算說(shuō)到底還是一個(gè)估算峦萎,在性能測(cè)試執(zhí)行時(shí)需要根據(jù)實(shí)際情況調(diào)整屡久。衡量性能的指標(biāo)還是要參考TPS實(shí)際達(dá)到了多少,響應(yīng)時(shí)間是多少爱榔,系統(tǒng)硬件(CPU被环、內(nèi)存等)指標(biāo)是否在限定范圍內(nèi)等要求。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末详幽,一起剝皮案震驚了整個(gè)濱河市筛欢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唇聘,老刑警劉巖版姑,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異迟郎,居然都是意外死亡剥险,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)宪肖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)表制,“玉大人健爬,你說(shuō)我怎么就攤上這事∶唇椋” “怎么了娜遵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)壤短。 經(jīng)常有香客問(wèn)我魔熏,道長(zhǎng),這世上最難降的妖魔是什么鸽扁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任蒜绽,我火速辦了婚禮,結(jié)果婚禮上桶现,老公的妹妹穿的比我還像新娘躲雅。我一直安慰自己,他們只是感情好骡和,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布相赁。 她就那樣靜靜地躺著,像睡著了一般慰于。 火紅的嫁衣襯著肌膚如雪钮科。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天婆赠,我揣著相機(jī)與錄音绵脯,去河邊找鬼。 笑死休里,一個(gè)胖子當(dāng)著我的面吹牛蛆挫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妙黍,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼悴侵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拭嫁?” 一聲冷哼從身側(cè)響起可免,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎做粤,沒(méi)想到半個(gè)月后浇借,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驮宴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年逮刨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡修己,死狀恐怖恢总,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情睬愤,我是刑警寧澤片仿,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站尤辱,受9級(jí)特大地震影響砂豌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜光督,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一阳距、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧结借,春花似錦筐摘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至柳畔,卻和暖如春馍管,著一層夾襖步出監(jiān)牢的瞬間芯丧,已是汗流浹背饶套。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工昨寞, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刹淌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓俩莽,卻偏偏與公主長(zhǎng)得像芋肠,于是被迫代替她去往敵國(guó)和親蝇更。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岭洲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 17天搞定GRE單詞。一本書(shū)坎匿。仿佛是做者的一個(gè)孩子盾剩,天下的父母對(duì)自己的孩子都不僅僅是愛(ài)。還像她成長(zhǎng)替蔬,索性這本17天...
    竹子一件一件閱讀 226評(píng)論 0 0
  • 想你的時(shí)候 我總?cè)滩蛔∩瞪档仄诖?這個(gè)時(shí)候 你的心里是否也和我一樣滿滿地裝著都是思念… 百無(wú)聊賴 手機(jī)拿起 又放下...
    喵咕唡閱讀 409評(píng)論 0 5
  • 研究背景 當(dāng)前,中國(guó)汽車保有量已經(jīng)超過(guò)1.5億輛,奠定了汽車售后市場(chǎng)的規(guī)氖癯牛基礎(chǔ)挤巡。全世界的品牌車型身影幾乎都能在中國(guó)...
    e2b448ddb713閱讀 537評(píng)論 0 3
  • 一些關(guān)于詞語(yǔ)的感受和受限制的語(yǔ)言、語(yǔ)句酷麦,需要修正和改變矿卑。 對(duì)于“不”要改成“怎么才能” 就先把這一個(gè)限制式的詞匯給...
    徐偉_1226閱讀 292評(píng)論 0 0