背景:
????????事務(wù)響應(yīng)時(shí)間是性能測(cè)試中衡量業(yè)務(wù)性能的主要指標(biāo)。事務(wù)杨伙,其實(shí)可以理解為完成一個(gè)業(yè)務(wù)所調(diào)用所有接口的集合,當(dāng)然可以是單個(gè)接口萌腿,也可以是多個(gè)相互關(guān)聯(lián)的串聯(lián)接口限匣。比如,登錄操作就是調(diào)用一個(gè)接口毁菱,而購(gòu)買(mǎi)商品米死,就需要登錄+瀏覽商品+添加購(gòu)物車(chē)+支付等,多個(gè)接口的調(diào)用贮庞。通常進(jìn)行性能測(cè)試時(shí)峦筒,我們一般僅考慮主要的數(shù)據(jù)返回,不考慮頁(yè)面渲染所需要的數(shù)據(jù)(例如:css窗慎、js物喷、圖片等)。但當(dāng)我們需要衡量打開(kāi)一個(gè)頁(yè)面(頁(yè)面渲染完成)的性能時(shí)遮斥,我們就需要考慮完成頁(yè)面渲染所需要的圖片峦失、css、js等資源文件术吗,因?yàn)檫@些數(shù)據(jù)的傳輸?shù)纫矔?huì)消耗系統(tǒng)尉辑、網(wǎng)絡(luò)等資源。因而測(cè)試頁(yè)面的性能较屿,尤其是含有大圖片隧魄、大文件等,就必須要考慮這些資源的性能消耗吝镣。所以在進(jìn)行性能測(cè)試時(shí)堤器,在用于多接口串聯(lián)的場(chǎng)景時(shí),需要匯總統(tǒng)計(jì)該多個(gè)接口串聯(lián)執(zhí)行完成時(shí)所有的響應(yīng)時(shí)間末贾,也就是一個(gè)事務(wù)或者場(chǎng)景的響應(yīng)時(shí)間闸溃。
事務(wù)控制器(Transaction Controller):
事務(wù)控制器(Transaction Controller)會(huì)生成一個(gè)額外的取樣器,用于統(tǒng)計(jì)測(cè)量其作用域內(nèi)的測(cè)試元素(取樣器、定時(shí)器等)的總體時(shí)間辉川,該時(shí)間包含事務(wù)控制器范圍內(nèi)的所有處理時(shí)間表蝙,而不僅僅是取樣器的處理時(shí)間。
事務(wù)控制器界面有2個(gè)選項(xiàng)按鈕
1乓旗、Generate Parent Sample:生成樣本作為其他樣本的父項(xiàng)
2府蛇、是否在生成的樣本中包括計(jì)時(shí)器,預(yù)處理和后處理延遲屿愚。默認(rèn)值為false
我們一般勾選這2個(gè)選項(xiàng)汇跨,事務(wù)的時(shí)間會(huì)算上思考時(shí)間
1、不勾選Generate Parent Sample
執(zhí)行后妆距,可以發(fā)現(xiàn)穷遂,不勾選Generate Parent Sample?,所有的取樣器(接口娱据、事務(wù)控制器)均統(tǒng)計(jì)出來(lái)蚪黑。
2、勾選Generate Parent Sample
執(zhí)行后中剩,可以發(fā)現(xiàn)忌穿,勾選Generate Parent Sample?后,聚合報(bào)告會(huì)將事務(wù)控制器及其下的取樣器執(zhí)行情況均匯總統(tǒng)計(jì)结啼,最終僅以事務(wù)控制器作為結(jié)果進(jìn)行匯總統(tǒng)計(jì)掠剑。
3、不勾選Include duration of timer and pre-post processors in generated sample
訂單支付增加了定時(shí)器延遲3S執(zhí)行下一條數(shù)據(jù)
執(zhí)行結(jié)果:事務(wù)控制器的時(shí)間 = 其他接口的響應(yīng)時(shí)間
4妆棒、勾選Include duration of timer and pre-post processors in generated sample
生成訂單支付這里加個(gè)固定定時(shí)器澡腾,也就是用戶(hù)的思考時(shí)間,固定定時(shí)器的延時(shí)不會(huì)計(jì)入單個(gè)sampler的響應(yīng)時(shí)間糕珊,但會(huì)計(jì)入事務(wù)控制器的時(shí)間动分。查看聚和報(bào)告,總的事務(wù)時(shí)間是3830毫秒红选,這里包含了思考時(shí)間澜公。
事務(wù)控制器的時(shí)間 = 其他接口的響應(yīng)時(shí)間 + 定時(shí)器 + 前后置處理器的時(shí)間