天天看點

Jmeter體系結構和基本原理

前言

Jmeter在不斷的更新的過程中功能不斷增加,越來越強大。Jmeter至今已更新Apache JMeter 5.1.1 (Requires Java 8+)版本,複制Jmeter下載下傳連結:

https://jmeter.apache.org/download_jmeter.cgi

Jmeter是使用率最高的性能測試工具之一,現在很多網際網路公司都在使用Jmeter來完成測試工作。因為Jmeter開源是以更具擴充性,能夠勝任更多的工作具有更多的可能性。

Jmeter可以對web應用、手機APP做性能測試。Jmeter支援腳本的錄制,同時擴充性比較強,我們可以自定義擴充實作需要的功能。Jmeter還支援Socket協定的測試,可以很友善的執行自動化性能測試。本文簡單介紹Jmeter的體系結構。

Jmeter體系結構

Jmeter體系結構我們可以簡單分層為:測試計劃-->線程組-->元件-->元件。一個測試計劃的下一層就是線程組,線程組下面是所有元件,每一個元件又是多個元件的集合。Jmeter的體系結構,我們可以當成一個三維空間。如下圖所示:

Jmeter體系結構和基本原理

解析如下:

X1~X5 :是模拟負載過程,通過這些元件完成模拟負載;

Y1:是模拟負載部分,負責模拟使用者的請求;

Y2:是驗證結果部分,負責驗證結果的正确性;

Z:是負載結果收集部分,負責收集驗證結果;

備注:監聽器,監聽器不僅可以放線上程組内,也可以放線上程組外。

Jmeter基本原理

Jmeter可以通過線程組來模拟真實使用者對Web伺服器的通路壓力,具體實作過程如下圖所示:

Jmeter體系結構和基本原理

Jmeter基本工作原理是首先建立一個線程池,多線程運作取樣器産生大量模拟使用者負載。在運作過程中通過斷言來驗證結果的正确性,通過監聽器來記錄測試結果。

在使用的過程中,如果想模拟多個使用者,運作一定的時間,可以通過設定線程組實作。如果想要模拟并發場景,可以設定定時器來實作功能;如果想要控制業務的執行邏輯,可以用控制器來完成,比如登入系統隻運作一次。