JMeter是一款強大的性能測試工具,由Java編寫,小巧輕便,最關鍵的是開源免費,現在已經成了主流的性能測試工具。
下面介紹一下基本的安裝使用、高級功能及可視化實時圖表展示,帶你們感受一下JMeter的世界~·
一、安裝
下載安裝包
地址:https://jmeter.apache.org/download_jmeter.cgi
解壓
添加到環境變量
export PATH=$PATH:/Users/chenqionghe/me/project/tools/apache-jmeter-5.3/bin
再導入這個環境變量
source ~/.bashrc
二、啟動
因為已經導入到環境變量,這里就可以直接用命令行啟動,不用加路徑
jmeter
運行界面如下
切換中文
還是切換成國語方便一點
打開日志查看
這一步是為了在運行的時候可以看到線程的調用情況
三、基本使用
創建線程組
- 線程數
就是要啟動的線程數 - Ramp-up時間
以秒為單位,指的是上面配置的線程數將會在多長時間內全部遞增完 - 循環次數
單用戶任務重復執行的次數,可以設為無限次,這樣jmeter就不會自動停止,需要強制終止
添加HTTP接口
這里我們使用天氣預報接口做為測試 http://wthrcdn.etouch.cn/WeatherApi?city=海南
添加察看結果樹
創建后,我們就可以非常方便地看到每一個請求的調用和返回結果
運行測試
運行結果如下,可以看到,列出了每個線程的請求內容和響應結果,還能根據結果自定義展示成xml、json等格式
四、更多功能
使用斷言
相當於單元測試里邊的assert,下面我們添加一個返回HTTP狀態200的響應
錄入后,我們再次運行查看一下結果
使用自定義變量
這一步就類似postman的環境變量,如果接口設置得特別多,可以方便地設置域名、參數,在統一修改變量值的時候比較方便
使用變量,在參數上使用${city}
的方式填寫即可
使用關聯
關聯就是可以把一個請求的結果給另一個請求使用,比如可以解析出登錄或校驗接口的時候的授權信息,如:token、session id,在下一次請求中使用傳遞,保持接口順利通過。
下面演示一下怎么使用
-
新建一個后置正則解析器
這里配置一個正則解析updatetime標簽的內容
-
再建一個新的HTTP請求
這里我隨便配置了一個我的博客域名,使用get參數傳遞剛剛的變量
-
運行
結果如下
可以看到我們已經解析出了上一個請求的更新時間。
生成聚合報告
可以用來查看壓測的總體報告,我們來創建一下
運行后就可以看到報告內容
五、可視化
下載插件
需要插件支持,下載地址:https://jmeter-plugins.org/wiki/TransactionsPerSecond/
解壓到Jmeter的lib文件夾
將下載的zip解壓的lib目錄內容一一對應拷貝到Jmeter的對應的lib目錄
重新啟動JMeter
如下,已經可以看到支持了新的監聽
使用結果
我們分別添加tps、響應時間、線程數的監聽,將線程設置成2000壓測一下
運行會產生一個實時的動態表格,如下
- TPS
可以看到,並發太高,有成功也有失敗的 - 響應時間
- 線程數
JMeter的完整使用就介紹完了,功能強大使用簡單,以上內容由chenqionghe提供,light weight baby~