JMeter壓測工具使用教程

一、 JMeter簡介

Apache JMeter是一款免費的基於java開發的性能測試軟件,最開始是用於測試web項目性能的,後來發展到支持各種其他功能。

JMeter可以用於測試靜態以及動態資源,網頁動態程序的性能。也可以對單臺服務器、服務器集羣、網絡或者某個可以測試的對象進行重壓負載模擬測試從而分析在不同壓力下的性能表現。

JMeter支持對許多不同的應用、服務器、協議等類型進行負載性能測試:

  • Web-HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, ...)
  • SOAP / REST Webservices
  • FTP
  • 通過JDBC測試數據庫
  • LDAP
  • 通過JMS測試消息中間件(Message-oriented middleware via JMS)
  • Mail - SMTP(S), POP3(S) 以及 IMAP(S)
  • 本地命令或者shell腳本(Native commands or shell scripts)
  • TCP
  • Java objects

二、 下載安裝

JMeter全稱Apache JMeter,是apache基金會下面的頂級項目,完全開源免費的,可以在官網https://jmeter.apache.org/ 下載程序。

該軟件無需安裝,下載完成解壓即可運行,windows下可以通過解壓目錄中的bin/jmeter.bat直接啓動,在linux環境中可以使用bin/jmeter.sh命令啓動,JMeter是完全基於java開發的,所以需要提前安裝JVM環境才能運行,目前最新的是JMeter5,該版本最少需要jdk8才能運行,需要注意。

三、使用教程

以windows環境中爲例,通過bin/jmeter.bat啓動成功以後,我們會看到一個圖形化界面,通過圖形化界面,可以方便的添加各種壓測任務。

上圖是一個已經創建好的壓測任務示例圖。

一般jmeter任務可以通過打開.jmx後綴結尾的已經保存的任務,或者通過左上角的File -> New創建新的壓測任務。

如果看需要中文的操作界面的話,可以通過左上角的 Options -> Choose language -> Chinese (Simplified)設置爲簡體中文,雖然有簡體的中文,但是有些部分並沒有完全中文化,還是有部分是英文展示的,不過基本還是能看懂的。

下面演示一個完全新建一個簡單對於接口的壓測任務:

左上角的File -> New創建一個新的壓測計劃

在新建的TestPlan上面點擊右鍵,Add -> Threads(Users) -> ThreadGroup 添加一個線程組,在這個線程組中,可以設置壓測需要的同時訪問的線程數,壓測的持續時間或者壓測的次數

對壓測的條件進行設置,

右鍵ThreadGroup,Aampler-> Http Request 添加一個HttpRequest,新增了一個具體的訪問壓測地址,此處我只添加了一個,可以同時添加多個,如果需要指定一個接口多少個併發訪問,可以添加多個ThreadGroup,在這些ThreadGroup下面添加HttpRequest請求鏈接。

最後就是添加監控了,對於壓測結果需要進行監控彙總等。右鍵ThreadGroup -> Listener -> Summary Report ,  View Result Tree

一般Summary Report一項就夠了,包含了總請求次數、平均響應時間、最大時間、最小時間、吞吐量、錯誤率、數據發送速率、數據接收速率等。

衍生,如果壓測的時候想要模擬實際情況或者不想要請求內容太單一,可以是用CSV數據集進行動態配置,通過配置的一些列請求參數集,可以實現壓測請求參數是一個數據集合而不是單一的請求。

右鍵TestPlan -> Add -> Config Element -> CSV Data Set Config導入外部測試數據集,需要制定FileName,Variable Name,其他的默認即可,最多額外注意一下字符集

四、 Linux系統無界面進行壓力測試

一般我們實際部署的項目部署在linux服務器上,後端程序一般的調用是內網間調用的,使用公網IP訪問壓測網絡延遲對於壓測的結果影響很大,所以還是在linux服務器上面測試才能反映真實的性能情況。

可以通過有界面的jmeter配置好壓測的一系列數據,然後保存問.jmx的壓測任務,通過 ~/apache-jmeter-5.0/bin/jmeter -n -t xxx.jmx  -l xx.jtl 命令,將壓測的結果保存到jtl文件中,然後傳回該文件,在jmeter中直接打開該文件查詢壓測結果數據:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章