1. 程式人生 > >Jmeter 快速入門教程(八) -- jmeter事務控制器

Jmeter 快速入門教程(八) -- jmeter事務控制器

你肯定知道, jmeter是一個跨系統平臺的效能測試工具, 比如他可以在linux,freebsd,windows,solaris 等等各種系統上可以執行. 我可以說, 事務 transaction controller 控制器是jmeter作效能測試中最重要的. 讓我來分享一些關於事物控制器的經驗吧. 

如果你看了錄製jmeter指令碼那一章, 你會知道jmeter會錄製很多的子請求. 比如當開啟首頁後, 會繼續開啟圖片, css等資原始檔. 通常我們會剔除掉這些子請求, 但如果我需要衡量開啟一個頁面(包含所有子請求) 到底的效能, 請求時間如何時, 我們會計算包含所有子請求的資料.  這時我們必須使用事物控制器.  ( 當然除了這種情況,  在進行api的測試時, 通常也需要事物控制器, 例如 假設api1 獲取tgt,  api2根據tgt 獲取st,  假設該openauth 登陸的過程, 我們將這2步api的呼叫, 看做一次登陸成功. 那麼我們需要將這2步操作,看為一個事務) .

讓我們直接來看一個例子吧.

Transaction Controller_example

如上圖, 有2個主要的http請求.  1個是主頁請求, 主頁請求又包含了4個子請求. 另外一個主請求是faq頁面.

我添加了一個事務控制器(transaction controller),  將主頁及其四個子請求都放在了該事務控制器下. 

我進行了一次測試,看下聚合報告裡的內容. 

apache jmeter_transaction_Controller_result

你可以看到一個事務控制器的標籤.  這個事務器則包含了(Home Page, .jpg request, .gif request, .png request, .js request)  這幾個請求. 雖然我們把這幾個請求的資料相加,可以得到類似於該控制器的資料. 但僅僅是相似而已.

事務控制器中的聲稱父sample(取樣)的標誌位的含義.

如果選中了該標誌位, 則你不會看到事務控制器包含的所有子元素. 

Generate parent_sample

Generate parent_sample_result

這時候, 再跑一次測試, 你再看聚合報告的時候, 會發現,我們只能看到"事務控制器" 和 FAQ 頁面的測試報告資料了.