在 jmeter 中提供了一系列的不一樣的組件,每一種組件都提供了某類功能的實現,用於支持性能測試的實施。請看下圖,jmeter 的核心組件構成。java
學習、研究 jmeter 以前,深刻了解 jmeter 的基本組件及其做用是必須的。接下來咱們開始討論基於 jmetere 進行性能測試必須掌握的組件,以便你們逐步掌握 jemter 的核心基本能力。下面的幾個組件是入門 jmeter 必須掌握的:linux
線程組是一系列線程的集合,每個線程表明着一個正在使用應用程序的用戶。在 jmeter 中,每一個線程意味着模擬一個真實用戶向服務器發起請求。shell
在 jmeter 中,線程組組件運行用戶設置線程數量、初始化方式等等配置。例如,若是你設置線程數爲 100,那麼 jmeter 將建立並模擬測試100 個用戶請求到服務器端。windows
以下圖所示:服務器
咱們經常使用的 jmeter 測試有 HTTP、FTP、JDBC 協議,以及其餘各類支持的協議。cookie
在 jmeter 中 Samplers 組件已經實現了哪些協議的支持。以下圖所示:性能
這個組件元素容許咱們在 jmeter 中寫 Bean Shell 腳本,寫這個腳本有什麼做用?意味着你能夠徹底的控制和實現本身的須要。靈活定製,天然也就有難度,你得有點腳本功底。學習
參見圖說明:測試
注:每個 Sampler 都有本身獨立的 beanshell 解析器,而且sampler 只能在本身的線程中調用(意味着不可跨線程使用)。編碼
FTP Request 元素提供了測試 ftp 服務器的能力,這個元素讓咱們可以去測試 ftp 的上傳、下載功能。下面咱們看一下 ftp 元素的基本配置說明:
注:咱們常常在 windows 和 linux 直接經過 ftp 進行文件傳輸,建議勾選 Use Binary Mode,避免編碼問題。
HTTP Request 提供了 HTTP/HTTPS 協議的測試支持能力。瞭解下基本的功能。
Java Request 提供了測試 java API 的支持,但要注意要測試的
java API 須要有對應的測試類,該測試類必須繼承AbstractJavaSamplerClient。
示例以下:
待測類 class Sum; -> 生成 sum.jar
繼承至 AbstractJavaSamplerClient 的測試類 Class
TestSum(AbstractJavaSamplerClient) -> 生成 testSum.jar
==注:==
一個 java 測試應該要實現如下幾個方法,以便 jmeter java sampler 能夠正確調用:
注意 testSum.jar 要能調用 sum.jar。將上述 sum.jar、testSum.jar 拷貝至 jmeter 安裝目錄的 lib/ext下。
在 jmeter 中 Listeners 提供了執行結果生成和顯示能力的支持,提供了樹形結構、表、圖形和日誌方式。下面咱們先看下幾種結果顯示示例圖。
圖形模式:
樹模式:
表模式:
日誌方式
配置元件包含了 Samplers 下各類 Sampler 的默認配置設置,若是有配置默認配置,在 Sampler 下對應的 sampler 就會使用該默認配置。
下面咱們看看咱們主要用到的默認配置有哪些。
下面進行逐一的說明。
CSV Data Set Config
CSV Data Set Config 主要用於讀取 csv 格式的文件中數據,實現參數化。
HTTP Cookie Manager
HTTP Cookie Manager 主要用於默認 cookie 管理。
HTTP Request Defaults
HTTP Request Defaults 用於配置 HTTP request 的默認值,例如 IP、端口等等都設置好默認值後,在後續 HTTPrequest 元素裏就不須要重複設置,節省時間。
總結:本次就 jmeter 經常使用的相關組件元素進行了大概的說明,以便你們有個基本的瞭解,爲後續深刻學習和實踐打下基礎。