在用LoadRunner打壓時(shí),經(jīng)常會(huì)用到事務(wù)和集合點(diǎn)這兩個(gè)策略。那么問(wèn)題就來(lái)了:插入集合點(diǎn)和插入事務(wù)的前后順序應(yīng)該是怎樣的呢?
![]()
下面我們來(lái)做一個(gè)實(shí)驗(yàn):
使用同一個(gè)腳本,集合點(diǎn)策略為集合100個(gè)用戶后,對(duì)服務(wù)器進(jìn)行打壓。
1、集合點(diǎn)設(shè)置在開(kāi)始事務(wù)代碼后面:
![]()
對(duì)應(yīng)的TPS圖表:(藍(lán)色線為start事務(wù),且start事務(wù)和action事務(wù)的時(shí)間曲線完全重合)
![]()
2、集合點(diǎn)設(shè)置在開(kāi)始事務(wù)代碼前面:
![]()
對(duì)應(yīng)的TPS圖表:(藍(lán)色線為start事務(wù),且start事務(wù)和action事務(wù)的曲線沒(méi)有重合)
![]()
通過(guò)兩張圖表對(duì)比不難發(fā)現(xiàn):
將事務(wù)設(shè)置在集合點(diǎn)之前時(shí)的時(shí)間比事務(wù)設(shè)置在集合點(diǎn)之后的時(shí)間平均值要多0.2s左右。
這是為什么呢?讓我們來(lái)分析一下:
第一種情況,集合點(diǎn)設(shè)置在開(kāi)始事務(wù)代碼后面,其運(yùn)行過(guò)程如下:
![]()
從圖可以看到,當(dāng)虛擬用戶運(yùn)行到開(kāi)始事務(wù)起點(diǎn)時(shí),事務(wù)就開(kāi)始統(tǒng)計(jì)時(shí)間,但是由于集合點(diǎn)尚未集合完畢,由此可見(jiàn),事務(wù)統(tǒng)計(jì)的時(shí)間多了集合的時(shí)間。
第二種情況,集合點(diǎn)設(shè)置在開(kāi)始事務(wù)代碼前面,其運(yùn)行過(guò)程如下:
![]()
從圖中可以看到,雖然LR也需要集合點(diǎn)集合完畢,但是由于事務(wù)此時(shí)還沒(méi)有計(jì)時(shí),所以統(tǒng)計(jì)出來(lái)的時(shí)間更能反映出真實(shí)響應(yīng)時(shí)間。
綜上所述:我們?cè)诓迦爰宵c(diǎn)和事務(wù)時(shí),需要將集合點(diǎn)插入在開(kāi)始事務(wù)代碼之前。
最后:在我的V :atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.