天天看點

java進階開發必知必會的性能壓測工具JMeter

作者:進擊的程式猿

官方介紹

The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

https://jmeter.apache.org/

大概意思就是Apache JMeter是一個開源軟體,由java編寫,用來承載功能測試和壓力性能測試。本來是用于web應用程式的,但是後來被擴充到了其他測試功能。

用途

我們開發的web應用在上線前,接口必須要進行壓力測試,一來是檢視接口性能是否滿足預期,二來知曉系統的最大承載為後續的流量激增擴容縮容做準備。通過JMeter進行接口壓力測試可以很容易的預估出系統的承載能力。

當然JMeter的用途還不止在web應用上,它可以用于測試靜态和動态資源,例如靜态檔案、Java 小服務程式、CGI 腳本、Java 對象、資料庫、FTP 伺服器等等。JMeter 可以用于對伺服器、網絡或對象模拟巨大的負載,來自不同壓力類别下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程式做功能/回歸測試,通過建立帶有斷言的腳本來驗證你的程式傳回了你期望的結果。為了最大限度的靈活性,JMeter允許使用正規表達式建立斷言。

使用

  1. 由于JMeter使用前,需要機器安裝java環境,在此不再贅述
  2. 下載下傳安裝包,https://jmeter.apache.org/download_jmeter.cgi
java進階開發必知必會的性能壓測工具JMeter
  1. 解壓縮後,進入bin目錄,使用JMeter.bat啟動程式。啟動後,會出現一個終端控制台,和一個JMeter的圖形化工具。控制台中的提示告訴我們,圖形化工具僅用來配置測試,執行壓力測試,需要通過終端控制台進行壓測。

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

java進階開發必知必會的性能壓測工具JMeter
java進階開發必知必會的性能壓測工具JMeter
  1. 建立線程組

切換到圖形化界面,右鍵Test Plan --> add --> Threads (users) --> Thread Group

java進階開發必知必會的性能壓測工具JMeter

設定線程數

java進階開發必知必會的性能壓測工具JMeter
  1. 配置請求預設值,也就是設定請求的協定、伺服器名稱或ip以及端口号

4步驟中建立的線程組右鍵--> add --> config element --> Http Request Defaults

java進階開發必知必會的性能壓測工具JMeter
  1. 配置請求接口

4步驟中建立的線程組右鍵 --> add --> Sample --> Http Request

java進階開發必知必會的性能壓測工具JMeter

配置請求方式,請求url, 以及請求參數

java進階開發必知必會的性能壓測工具JMeter
  1. 設定請求頭格式
java進階開發必知必會的性能壓測工具JMeter
java進階開發必知必會的性能壓測工具JMeter
  1. 添加響應斷言,用于判斷接口傳回是否正确
java進階開發必知必會的性能壓測工具JMeter
java進階開發必知必會的性能壓測工具JMeter
  1. 添加結果檢視樹,用來檢視執行結果
java進階開發必知必會的性能壓測工具JMeter
java進階開發必知必會的性能壓測工具JMeter
  1. 至此一個接口壓力測試配置就完成了,點選圖形化界面上的start圖示,或者在控制台輸入執行指令,即可在結果檢視樹中檢視接口壓測結果了。
java進階開發必知必會的性能壓測工具JMeter

結語

作為開發要能夠知曉自己接口的性能,以及壓力測試的細節,這樣才能更好的寫出高性能的接口,使系統高性能高并發高可用。JMeter作為一款壓力測試功能,開發同學是有必要了解學習的。