1. 程式人生 > >JMeter壓力測試併發測試(入門篇)

JMeter壓力測試併發測試(入門篇)

 

  jmeter是apache公司基於java開發的一款開源壓力測試工具,體積小,功能全,使用方便,是一個比較輕量級的測試工具,使用起來非常簡單。因為jmeter是java開發的,所以執行的時候必須先要安裝jdk才可以。jmeter是免安裝的,拿到安裝包之後直接解壓就可以使用,同時它在linux/windows/macos上都可以使用。 Jmeter可以做介面測試和壓力測試。其中介面測試的簡單操作包括做http指令碼(發get/post請求、加cookie、加header、加許可權認證、上傳檔案)、做webservice指令碼、引數化、斷言、關聯(正則表示式提取器和處理json-json path extractor)和jmeter操作資料庫等等。

Jmeter安裝

 *JDK安裝

1.由於Jmeter是基於java開發,首先需要下載安裝JDK,官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 

2. 選擇Java SE 8u151/ 8u152,點選JDK下載 

3. 安裝下載的JDK 
4. 配置系統環境變數

JMeter安裝

  1. 官網下載地址:http://jmeter.apache.org/download_jmeter.cgi
  2. 下載完成後解壓zip包
  3. 啟動JMeter 
    雙擊JMeter解壓路徑(apache-jmeter-3.3\bin)bin下面的jmeter.bat即可 

 

介面測試

一般分五個步驟:(1)新增執行緒組 (2)新增http請求 (3)在http請求中寫入接入url、路徑、請求方式和引數 (4)新增檢視結果樹 (5)呼叫介面、檢視返回值

注:要檢視自己的介面是什麼型別的請求,上述為get請求

新增聚合報告就可以檢視測試的資訊

post請求

注:post請求要加上引數值

jmeter 操作資料庫 

操作資料庫基本有四個步驟:(1)匯入mysql的jdbc的jar包 (2)建立資料庫的連線配置,執行緒組裡新增配置元件-JDBC Connection Configuration (3)執行緒組裡新增jdbc request,寫sql語句 (4)新增察看結果樹,點選啟動按鈕,就能看到執行的SQL。具體的例項如下截圖所示:

 

JMeter可以針對多個數據庫進行操作,下方提供一下常用的驅動

壓測結果檢視

執行完後,聚合報告會顯示壓測的結果。主要觀察Samples、Average、error、Throughput。

Samples:表示一共發出的請求數
Average:平均響應時間,預設情況下是單個Request的平均響應時間(ms)
Error%:測試出現的錯誤請求數量百分比。若出現錯誤就要看服務端的日誌,配合開發查詢定位原因
Throughput:簡稱tps,吞吐量,預設情況下表示每秒處理的請求數,也就是指伺服器處理能力,tps越高說明伺服器處理能力越好。

 

Jmeter-webservice介面指令碼

基本分為五個步驟:(1)先需要通過soapui工具獲取到webservice介面的請求地址、請求報文和請求soapaction。(2)jmeter新建一個執行緒組 (3)執行緒組下建立SOAP/XML-RPC Request,寫入請求url、請求報文、請求soapaction。(3)啟動jmeter,呼叫介面,通過察看結果樹檢視返回值。
soapui獲取資訊的例項如下圖所示:

soapui提交完後,點選raw,可看到soapation,有些介面若沒返回soapation,則jmeter裡也就不用填。

 jmeter-webservice指令碼例項如下圖所示:

 

在做壓力測試的時候很多時候會要去測試併發,其實併發測試歸屬於壓力測試,其中的差別就在於需求範圍和間接的執行時間,如下圖:

 

*Rame-Up Period(in seconds):表示JMeter每隔多少秒發動一次,如果設定為0,就代表0秒跑一次,這裡邊數可以理解為多長時間跑一次(準備時間)