前言
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的體系結構,我們可以當成一個三維空間。如下圖所示:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuonNwBXbzZHb2Q3LcNDOxAzM0YzLcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
解析如下:
X1~X5 :是模拟負載過程,通過這些元件完成模拟負載;
Y1:是模拟負載部分,負責模拟使用者的請求;
Y2:是驗證結果部分,負責驗證結果的正确性;
Z:是負載結果收集部分,負責收集驗證結果;
備注:監聽器,監聽器不僅可以放線上程組内,也可以放線上程組外。
Jmeter基本原理
Jmeter可以通過線程組來模拟真實使用者對Web伺服器的通路壓力,具體實作過程如下圖所示:
Jmeter基本工作原理是首先建立一個線程池,多線程運作取樣器産生大量模拟使用者負載。在運作過程中通過斷言來驗證結果的正确性,通過監聽器來記錄測試結果。
在使用的過程中,如果想模拟多個使用者,運作一定的時間,可以通過設定線程組實作。如果想要模拟并發場景,可以設定定時器來實作功能;如果想要控制業務的執行邏輯,可以用控制器來完成,比如登入系統隻運作一次。
完