Transaction Controller
-
- 參數介紹
- 勾選Generate Parent Sample
- 勾選Include duration of timer and pre-post processors in generated sample
事務響應時間是我們衡量業務性能的主要名額,事務控制器(Transaction Controller)可以把其節點下的取樣器執行消耗時間累加在一起,便于我們進行統計。同時我們對每一個取樣器的執行時間進行統計。
如果事務控制器下的取樣器有多個,那麼隻有每一個取樣器都運作成功了,整個事務控制器定義的事務才算成功,這是充分必要條件。
參數介紹
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxCeVRlT0I0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxIjN2QDOwIjMxIDNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
屬性 | 描述 | 必填 |
---|---|---|
Name | 控制器名稱,可以根據實際情況進行設定 | 否 |
Comments | 注釋,描述在業務中的作用 | 否 |
Generate Parent Sample | 如果選中,事務控制器将作為其他取樣器的父級樣本,否則事務控制器僅作為獨立的樣本 | 否 |
Include duration of timer and pre-post processors in generated sample | 是否在生成的樣本中包括計時器,預處理和後處理的延遲時間,預設是false | 否 |
勾選Generate Parent Sample
此時,事務控制器下的各個采樣器隻有在The Tree View Listener裡才能看到。同時,子采樣器的資料也不會在CSV檔案中顯示,但是在XML檔案中可以看到。
添加一個測試計劃,事務控制器下有Login、BeanShell Sampler、Search三個請求,如下圖所示:
在View Results Tree可以看到事務控制器嵌套了其他請求,如下圖所示:
而在Summary Repor可以看到隻顯示事務控制器的資料,如下圖所示:
勾選Include duration of timer and pre-post processors in generated sample
在Search請求下加一個定時器,如下圖所示:
在Summary Repor可以看到,事務控制器的時間 = 其他請求的響應時間 + 定時器 + 前後置處理器的時間,如下圖所示:
不勾選時,事務控制器的時間 = 其他請求的響應時間,如下圖所示:
可以這樣了解,一個事務,就是完成一個業務所調用接口的集合:可能是單個接口和可能是一連串接口。例如:登入業務就是調用一個接口;評論就是登入用戶端+檢視文章+評論多個接口的調用。
之前,我在使用的時候,就會把登入用戶端後,擷取的多個接口做為一個事務來處理;但是,這樣有一個不好的地方就是,有些接口就是登入用戶端後,隻被調用一次,例如:登入用戶端、檢視文章這些接口的調用,就隻會調用一次;有些接口被調用多次,例如:檢視文章、評論等等。是以,最好的方式,就是把需要調用一次的接口,放到Once Only Controller控制器中,多次調用的接口,放到單獨的transaction controller。這個時候,在test plan中,有一個選項,友善檢視運作時候接口的響應情況